使用Boto和Pandas从AWS S3读取CSV文件

博士

我已经阅读了此处此处的可用答案,但这些答案无济于事。

我正在尝试csvS3存储桶中读取对象,并且已经能够使用以下代码成功读取数据。

srcFileName="gossips.csv"
def on_session_started():
  print("Starting new session.")
  conn = S3Connection()
  my_bucket = conn.get_bucket("randomdatagossip", validate=False)
  print("Bucket Identified")
  print(my_bucket)
  key = Key(my_bucket,srcFileName)
  key.open()
  print(key.read())
  conn.close()

on_session_started()

但是,如果我尝试使用熊猫作为数据帧读取同一对象,则会收到错误消息。最常见的是S3ResponseError: 403 Forbidden

def on_session_started2():
  print("Starting Second new session.")
  conn = S3Connection()
  my_bucket = conn.get_bucket("randomdatagossip", validate=False)
  #     url = "https://s3.amazonaws.com/randomdatagossip/gossips.csv"
  #     urllib2.urlopen(url)

  for line in smart_open.smart_open('s3://my_bucket/gossips.csv'):
     print line
  #     data = pd.read_csv(url)
  #     print(data)

on_session_started2()

我究竟做错了什么?我使用的是python 2.7,无法使用Python 3。

博士

这是我成功dfcsvS3上读取的内容

import pandas as pd
import boto3

bucket = "yourbucket"
file_name = "your_file.csv"

s3 = boto3.client('s3') 
# 's3' is a key word. create connection to S3 using default config and all buckets within S3

obj = s3.get_object(Bucket= bucket, Key= file_name) 
# get object and file (key) from bucket

initial_df = pd.read_csv(obj['Body']) # 'Body' is a key word

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用lambda函数和boto3从s3存储桶读取csv文件?

使用 Python 和 Boto3 从 S3 读取多个 CSV 文件

Spark:使用Scala从S3读取CSV文件

AWS Lambda:使用Python从s3存储桶读取csv文件尺寸,而无需使用Pandas或CSV包

如何使用Python在myBucket中上传CSV文件并在S3 AWS中读取文件

从AWS S3读取多个文件

如何使用 C# 从 S3 存储桶读取和处理大型文本/CSV 文件?

使用boto从S3逐行读取文件?

使用aws.s3包一次从AWS S3读取多个CSV文件对象

在lambda中使用boto3从s3读取和写入excel文件

使用boto3和python从Amazon s3读取zip文件

如何从AWS Lambda的s3存储桶中读取csv文件?

如何使用pyspark从s3存储桶中读取csv文件

使用AWS Boto将文件从CSV转换为S3上的拼花地板

使用Java Lambda在AWS S3上读取文件

如何使用 mdfreader 从 AWS S3 读取 .dat 文件

从AWS S3读取CSV文件时获取“ Errno :: ENOENT:没有这样的文件或目录@ rb_sysopen”

如何使用 Lambda 和 Python 在 AWS s3 中读取和覆盖文件?

在Lambda中读取AWS S3 CSV列名称

Python AWS Boto3:如何从S3存储桶读取文件?

使用boto3和python从S3存储桶目录中仅读取特定格式的文件

无法使用R从S3读取csv

使用AWS Lambda在S3中更改CSV文件

AWS Lambda:如何在S3存储桶中读取CSV文件,然后将其上传到另一个S3存储桶?

AWS S3:.csv文件下载为.csv

pyspark 从 AWS S3 读取文件不起作用

在R中从AWS S3读取gzip文件的内容

如何从 AWS S3 嵌套目录读取泡菜文件?

从S3读取Excel文件到Pandas DataFrame