Python EmptyDataError:从S3 bucket到Dataframe读取多个csv文件时,没有要从文件中解析的列
我有一个源s3存储桶,其中有大约500个csv文件,我想将这些文件移动到另一个s3存储桶,在移动之前,我想清理数据,所以我尝试将其读取到一个数据帧。我的代码工作正常,返回一些文件的数据帧,然后突然中断,并给出错误“EmptyDataError:No columns to parse from file”Python EmptyDataError:从S3 bucket到Dataframe读取多个csv文件时,没有要从文件中解析的列,python,pandas,amazon-web-services,csv,amazon-s3,Python,Pandas,Amazon Web Services,Csv,Amazon S3,我有一个源s3存储桶,其中有大约500个csv文件,我想将这些文件移动到另一个s3存储桶,在移动之前,我想清理数据,所以我尝试将其读取到一个数据帧。我的代码工作正常,返回一些文件的数据帧,然后突然中断,并给出错误“EmptyDataError:No columns to parse from file” 提前谢谢 您的文件大小为零。使用paginator而不是os.path.getsize(文件)进行如下检查: import boto3 client = boto3.client('s3',
提前谢谢 您的文件大小为零。使用paginator而不是os.path.getsize(文件)进行如下检查:
import boto3
client = boto3.client('s3', region_name='us-west-2')
paginator = client.get_paginator('list_objects')
page_iterator = paginator.paginate(Bucket='my-bucket')
filtered_iterator = page_iterator.search("Contents[?Size > `0`][]")
for key_data in filtered_iterator:
print(key_data)
手动下载坏文件并查看感谢您的回复,您能告诉我如何根据文件夹路径提取代码结果中的密钥吗?bucket='bucket'文件夹路径='path'def get_s3_keys(bucket,folder_path):keys=[]paginator=client.get_paginator('list_objects'))page_iterator=paginator.paginate(Bucket=Bucket)filtered_iterator=page_iterator.search(“内容[?大小>0
][])在filtered_iterator中搜索obj['Contents']:Key.append(obj['Key'])返回密钥文件=获取s3密钥(Bucket,文件夹路径)打印(文件)
import boto3
client = boto3.client('s3', region_name='us-west-2')
paginator = client.get_paginator('list_objects')
page_iterator = paginator.paginate(Bucket='my-bucket')
filtered_iterator = page_iterator.search("Contents[?Size > `0`][]")
for key_data in filtered_iterator:
print(key_data)