【问题标题】:TypeError: cannot parse from 'list'TypeError:无法从“列表”解析
【发布时间】:2019-04-01 16:34:05
【问题描述】:

我需要解析很多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'

任何想法如何解决这个问题?

【问题讨论】:

标签: python python-3.x


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-07
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多