【发布时间】:2021-05-22 10:13:03
【问题描述】:
我可以在 python 中使用 boto3 从 S3 存储桶中读取多个 csv 文件,最后将这些文件合并到 pandas 的单个数据框中。但是,在某些文件夹中有一些空文件会导致错误“没有列从文件中解析”。我们可以跳过下面代码中的那些空文件吗?
s3 = boto3.resource('s3')
bucket = s3.Bucket('testbucket')
prefix_objs = bucket.objects.filter(Prefix="extracted/abc")
prefix_df = []
for obj in prefix_objs:
key = obj.key
body = obj.get()['Body'].read()
temp = pd.read_csv(io.BytesIO(body),header=None, encoding='utf8',sep=',')
prefix_df.append(temp)
我已经使用了这个答案 [https://stackoverflow.com/questions/52855221/reading-multiple-csv-files-from-s3-bucket-with-boto3][1]
【问题讨论】:
-
或许在
.read()这一行之后,可以查看body的长度?
标签: python csv amazon-s3 boto3 amazon-sagemaker