python - Python:如何从 AWS S3 读取和加载 excel 文件?
问题描述
我已经将一个 excel 文件上传到 AWS S3 存储桶,现在我想用 python 读取它。任何帮助,将不胜感激。这是我到目前为止所取得的成就,
import boto3
import os
aws_id = 'aws_id'
aws_secret = 'aws_secret_key'
client = boto3.client('s3', aws_access_key_id=aws_id, aws_secret_access_key=aws_secret)
bucket_name = 'my_bucket'
object_key = 'my_excel_file.xlsm'
object_file = client.get_object(Bucket=bucket_name, Key=object_key)
body = object_file['Body']
data = body.read()
为了读取这些数据并进行处理,我接下来需要做什么?
解决方案
花了很多时间,这就是我如何让它工作的,
import boto3
import io
import pandas as pd
import json
aws_id = ''
aws_secret = ''
bucket_name = ''
object_key = ''
s3 = boto3.client('s3', aws_access_key_id=aws_id, aws_secret_access_key=aws_secret)
obj = s3.get_object(Bucket=bucket_name, Key=object_key)
data = obj['Body'].read()
df = pd.read_excel(io.BytesIO(data), encoding='utf-8')
推荐阅读
- pandas - Seaborn FacetGrid(散点图)跳过 NaN 值
- vue.js - “idle-vue”:“^2.0.5”,不检测页面滚动事件
- python - update matplotlib figure dynamically
- javascript - 如何使我的滑块在最后一张幻灯片上不显示空白幻灯片
- amazon-web-services - 无法在类型中传递导入值:Cloudformation 中的字符串字段
- c++ - 异常删除磁盘时返回什么样的 i/o 错误?
- javascript - 不能在js中乘以十进制数
- node.js - 使用 Team 的附件按钮将文件上传到 bot 应用程序时,Microsoft Teams 返回错误
- github - 谷歌 colab 的 Git 文件夹
- php - 找不到 Symfony 资产图像