Python:解析文件夹中的所有文件

时间:2016-07-09 09:58:02

标签: python xml pandas for-loop

我试图在python循环的帮助下解析文件夹中的所有文件,然后将其存储为数据帧,我使用以下脚本

<a href="./second-jsp.jsp?id=<% out.print(id); %>&name=<% out.print(name); %>"><%out.print(id);%></a>

我的路径文件包含以下文件

path='C:\\Users\\manusharma\\Training'

for filename in os.listdir(path):
    tree = ET.parse(filename)
    a = ET.tostring(tree.getroot(), encoding='utf-8', method='text')
    c = a.replace('\n', '')
    df = df.append({'text': c, 'type': 'abc'}, ignore_index=True)

每一次,我运行我的代码都会向我显示错误

abc1.xml
abc2.xml
abc3.xml
abc4.xml
abc5.xml

虽然它在那里,我在哪里犯错?感谢每一个帮助

1 个答案:

答案 0 :(得分:2)

os.listdir()仅返回文件名(不是完整路径)。

您可以尝试使用glob.glob(path + '/*.xml')代替os.listdir(path)

演示:

In [111]: path = 'd:/temp/xml'

In [112]: os.listdir(path)
Out[112]: ['1.xml', '2.xml', '3.xml', 'bla.tmp']

In [113]: glob.glob(path + '/*.xml')
Out[113]: ['d:/temp/xml\\1.xml', 'd:/temp/xml\\2.xml', 'd:/temp/xml\\3.xml']