遍历Python文件夹中的所有文件

时间:2019-12-03 11:02:45

标签: python iteration

下面的代码读取一个xml文件,然后运行一个函数,并在最后一步将数据解析为xlsx文件。

if __name__ == '__main__':
    xml = XMLParser.parse(r'./work.xml')
    xml.recurs_collect(opdata_collector)
    df.to_excel("./output.xlsx")

如果要包含第二个xml文件,则必须基本上复制并粘贴代码,并写上新xml文件的名称。

if __name__ == '__main__':
        xml = XMLParser.parse(r'./work.xml')
        xml.recurs_collect(opdata_collector)
        xml = XMLParser.parse(r'./work2.xml')
        xml.recurs_collect(opdata_collector)
        df.to_excel("./output.xlsx")

我尝试了以下方法,但没有成功

directory = 'C:\Users\342\Desktop\num\docs\test'
for filename in os.listdir(directory):
    if filename.endswith(".xml"):
        xml.recurs_collect(opdata_collector)
        df.to_excel("./output.xlsx")
        continue
    else:
        continue

1 个答案:

答案 0 :(得分:2)

当你说

directory = 'C:\Users\342\Desktop\num\docs\test'

您正在引导python转义U,3,D等。这将导致语法错误(SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape)。有many ways可以在python中处理Windows路径,但是最好的选择是pathlib

我不在Windows计算机上对此进行测试,但是我认为类似以下的内容应该可以工作:

directory = PureWindowsPath('C:/Users/342/Desktop/num/docs/test')
...