TypeError:无法从“列表”解析

时间:2019-04-01 16:34:06

标签: python python-3.x

我需要解析许多xml文件并将数据加载到数据库中。运行以下内容:

import os 
from lxml import etree
path = 'C:/Users/xxx/Desktop/python/python-parsing/data'
filename = os.listdir(path)
tree = etree.parse(filename)
test = tree.xpath('///p[@name="bName"]')
print ("".join(test))

结果:

Desktop\python\python-parsing\parser.py", line 6, in <module>
tree = etree.parse(filename)
File "src\lxml\etree.pyx", line 3435, in lxml.etree.parse
File "src\lxml\parser.pxi", line 1863, in lxml.etree._parseDocument
TypeError: cannot parse from 'list'

有什么办法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

这是因为os.listdir(path)返回了数据文件夹中所有文件的列表,即使只有一个文件也是如此。因此,您需要在解析之前在此列表中获取所需的文件名。