gpt4 book ai didi

python - 附加 xml 文件中的列表列表

转载 作者:行者123 更新时间:2023-12-01 07:23:43 25 4
gpt4 key购买 nike

我有不同的带有一些标签的 XML 文件。当我想附加 XML 文件中的关键字时,我无法使用相同的结构附加它们。关键字是列表,因此我需要一个列表列表来附加它们。当我尝试字典方法时,我只为每个 id 索引一个标签,而不是整个列表。

我试图用元组和 zip 来做到这一点,但获得了相同的结果,每个 id 一个标签。

这是用于检索关键字的基本代码。

keywords = [[] for i in range (4)]
for infil in glob.glob( os.path.join(path, '*.xml') ):
tree = et.parse(infil)
root = tree.getroot()
for keyword in root.find(".//keywords"):
if keyword.text is not None:
keywords.append(keyword.text)

我希望有这样的输出,但我只有一个列表,而不是列表列表。

 {'symbol': ['CEDAW/SP/1998/1',
'CEDAW/SP/1998/2',
'CEDAW/SP/1998/3',
'CEDAW/SP/1998/4'],
'jobno': ['N9801528', 'N9802769', 'N9801085', 'N9812464'],
'dat': ['19980121', '19980206', '19980111', '19980501'],
'language': ['English', 'English', 'English', 'English'],
'keywords': [(['AGENDA'],
["WOMEN'S STATUS",
'TREATIES',
'SIGNATURES, ACCESSIONS, RATIFICATIONS',
'RESERVATIONS AND DECLARATIONS',
'GENDER DISCRIMINATION'],
['ELECTION OF MEMBERS', 'BIOGRAPHY'],
["WOMEN'S RIGHTS", "WOMEN'S STATUS", 'PERIODIC REPORTS'])]}

最佳答案

似乎您只是指定要附加到的顶级列表。因此,当您执行 [[], [], [], []].append(1) 时,您将得到 [[], [], [], [], 1 ]

您需要指定内部列表,例如list[i].append(keyword.text),因此您需要以某种方式获取索引。

# make it scalable so it will work even if you add more XML files
paths = glob.glob( os.path.join(path, '*.xml') )
keywords = [[] for i in range(len(paths))

for i in range(len(paths)):
tree = et.parse(paths[i])
root = tree.getroot()
for keyword in root.find(".//keywords"):
if keyword.text is not None:
keywords[i].append(keyword.text) # change is here

关于python - 附加 xml 文件中的列表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57555623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com