python - 需要使用python将xml标签值拆分为一个文件中的10个标签项和另一个文件中的另外10个标签项
问题描述
我有一个简单的 xml 文件,需要在一个文件中拆分前 10 个标签值,在另一个文本中拆分另外 10 个标签值,以便将所有值拆分为单独的文本文件中的每 10 个值。
import xml.etree.ElementTree as ET
tree = ET.parse('Invoice.xml')
root = tree.getroot()
for e in root.iter('LineItem'):
print (e.text)
这是我当前的输出,一个文件中的前 10 个值和另一个文件中的 11 到 20。就像明智的 21 到 30 等等。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
解决方案
您可以将所有项目添加到列表中,然后以十个为一组进行处理,或者您可以跟踪元素编号并在每十个元素上更改输出文件。
配料
l = [e for e in root.iter('LineItem')]
num_batches = math.ceil(len(l)/10)
for batch in range(num_batches):
# Setup output file
for e in l[batch*10 : min((batch+1)*10, len(l) - 1)]: # Iterate over each element in batch
print(e.text)
元素计数
i = 0
for e in root.iter('LineItem'):
if i % 10 == 0:
# Change output file
i+=1
print(e.text)
推荐阅读
- javascript - 渲染 fullcalendar v4 的问题
- python - ImportError:android kivy 启动器上没有名为请求的模块
- javascript - SAFARI:意外的令牌“=”。在方法的参数列表之前需要一个开头的 '('
- node.js - nodejs passport-azure-ad 重定向到 failureRedirect
- git - 忽略从远程克隆的某些文件永远在本地更改?
- rx-swift - RxSwift 表单验证和在一个流中发送请求
- c - 链表:用于创建(?)节点的结构?
- node.js - 我遇到 npm 任何命令相同错误的问题
- php - 将数据从 android studio 传递到 php
- logging - Apache NiFi:如何为特定处理器添加日志记录