从 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 用于任何目的。