Py学习  »  Python

在Python中从S3存储桶读取xml文件——只存储最后一个文件的内容

sklal • 3 年前 • 1002 次点击  

S3 bucket目录中有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_列表”中,我可以看到有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文件的内容,应该对代码进行哪些更改?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/133613
 
1002 次点击  
文章 [ 1 ]  |  最新文章 3 年前
ewong
Reply   •   1 楼
ewong    3 年前

如前所述,由于您有一个文件列表,因此需要相应的树列表。

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 不管出于什么目的。