📜  boto3 从 s3 读取 excel 文件 - Python (1)

📅  最后修改于: 2023-12-03 14:59:33.978000             🧑  作者: Mango

Boto3 从 S3 读取 Excel 文件 - Python

在 AWS 中,S3 是一种非常流行的云存储服务。对于 Python 开发者而言,Boto3 是一个很好的选择,它为使用 AWS 各种服务提供了简单易用的界面。

本文中,我们将学习如何使用 Boto3 从 S3 中读取 Excel 文件。

准备工作

在开始之前,我们需要做以下几个步骤:

  1. 安装 Boto3
pip install boto3
  1. 设置 AWS 认证

Boto3 读取 S3 文件需要 AWS 认证,你可以通过如下方式设置:

  • 环境变量
export AWS_ACCESS_KEY_ID=<your_access_key>
export AWS_SECRET_ACCESS_KEY=<your_secret_key>
  • 配置文件
[default]
aws_access_key_id = your_access_key
aws_secret_access_key = your_secret_key

更多设置方式,可以参考 Boto3 官方文档

读取 Excel 文件

下面是使用 Boto3 从 S3 中读取 Excel 的代码片段:

import boto3
import pandas as pd
from io import BytesIO

s3 = boto3.client('s3')

bucket_name = 'your_bucket_name'
file_name = 'path/to/your/excel/file.xls'

obj = s3.get_object(Bucket=bucket_name, Key=file_name)
df = pd.read_excel(BytesIO(obj['Body'].read()))

print(df.head())

首先,我们需要通过 boto3.client('s3') 创建一个 S3 客户端,然后指定 bucket_namefile_name 获取 S3 中的 Excel 文件。

接着,我们使用 s3.get_object() 方法获取文件,并通过 BytesIO 将获取的二进制数据转成 Pandas DataFrame。

最后,我们打印 DataFrame 的前几行数据。

总结

本文简单介绍了如何使用 Boto3 从 S3 中读取 Excel 文件,希望能对你有所帮助。

Boto3 官方文档

参考文献

[2]: https://pandas.pydata.org/docs/