我已经创建了文件夹的代码,但我如何才能访问该文件夹写入csv文件到该文件夹?
# Creating folder on S3 for unmatched data
client = boto3.client('s3')
# Variables
target_bucket = obj['source_and_destination_details']['s3_bucket_name']
subfolder = obj['source_and_destination_details']['s3_bucket_uri-new_folder_path'] + obj['source_and_destination_details']['folder_name_for_unmatched_column_data']
# Create subfolder (objects)
client.put_object(Bucket = target_bucket, Key = subfolder)
文件夹是由上面的代码创建成功,但如何写入csv文件呢?
下面是我曾试图写的代码,但它不工作
# Writing csv on AWS S3
df.reindex(idx).to_csv(obj['source_and_destination_details']['s3_bucket_uri-write'] + obj['source_and_destination_details']['folder_name_for_unmatched_column_data'] + obj['source_and_destination_details']['file_name_for_unmatched_column_data'], index=False)
1条答案
按热度按时间2lpgd9681#
S3存储桶不是文件系统。
我假设
to_csv()
方法应该写入某种类型的文件系统,但这不是它与S3一起工作的方式。虽然有将S3存储桶装载为文件系统的解决方案,但这不是首选方式。通常,您将通过AWS REST APIs、AWS CLI或客户端库(如您已经在使用的Boto)与S3交互。
因此,为了在S3上存储您的内容,您首先在本地创建文件,例如在系统的
/tmp
文件夹中。然后使用Boto的put_object()
方法上传文件。