从 Python 中的 S3 存储桶中读取 xml 个文件 - 仅存储最后一个文件的内容
Reading xml files from S3 bucket in Python - Only the content of the last file is getting stored
我在 S3 存储桶目录中有 4 个 XML 文件。当我试图读取所有文件的内容时,我发现只有最后一个文件 (XML4) 的内容被存储。
s3_bucket_name='test'
bucket=s3.Bucket(s3_bucket_name)
bucket_list = []
for file in bucket.objects.filter(Prefix = 'auto'):
file_name=file.key
if file_name.find(".xml")!=-1:
bucket_list.append(file.key)
在'bucket_list'中,我可以看到有4个文件
for file in bucket_list:
obj = s3.Object(s3_bucket_name,file)
data = (obj.get()['Body'].read())
tree = ET.ElementTree(ET.fromstring(data))
要读取所有 XML 个文件的内容,应该对代码进行哪些更改?
如前所述,由于您有一个文件列表,因此您需要一个相应的树列表。
tree_list = []
for file in bucket_list:
obj = s3.Object(s3_bucket_name,file)
data = (obj.get()['Body'].read())
tree_list.append(ET.ElementTree(ET.fromstring(data)))
然后您可以开始使用 tree_list
用于任何目的。
我在 S3 存储桶目录中有 4 个 XML 文件。当我试图读取所有文件的内容时,我发现只有最后一个文件 (XML4) 的内容被存储。
s3_bucket_name='test'
bucket=s3.Bucket(s3_bucket_name)
bucket_list = []
for file in bucket.objects.filter(Prefix = 'auto'):
file_name=file.key
if file_name.find(".xml")!=-1:
bucket_list.append(file.key)
在'bucket_list'中,我可以看到有4个文件
for file in bucket_list:
obj = s3.Object(s3_bucket_name,file)
data = (obj.get()['Body'].read())
tree = ET.ElementTree(ET.fromstring(data))
要读取所有 XML 个文件的内容,应该对代码进行哪些更改?
如前所述,由于您有一个文件列表,因此您需要一个相应的树列表。
tree_list = []
for file in bucket_list:
obj = s3.Object(s3_bucket_name,file)
data = (obj.get()['Body'].read())
tree_list.append(ET.ElementTree(ET.fromstring(data)))
然后您可以开始使用 tree_list
用于任何目的。