社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

sklal • 3 年前 • 1000 次点击  

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
 
1000 次点击  
文章 [ 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 不管出于什么目的。