Python将文件夹中的所有csv文件转换为txt

时间:2016-08-10 20:26:10

标签: python python-2.7 python-3.4

我有这个代码将我的csv文件转换为xml文件的txt版本..如何编辑它以转换文件夹中的所有文件?

import csv

csvFile = 'path\to\input\123.csv'
xmlFile = 'path\to\output\123.txt'

csvData = csv.reader(open(csvFile))
xmlData = open(xmlFile, 'w')

rowNum = 0
for row in csvData:
    if rowNum == 0:
        tags = row
        # replace spaces w/ underscores in tag names
        for i in range(len(tags)):
            tags[i] = tags[i].replace(' ', '_')
    else: 
        xmlData.write('<products_joined>' + "\n")
        for i in range(len(tags)):
            xmlData.write('    ' + '<' + tags[i] + '><![CDATA[' \
                          + row[i] + ']]></' + tags[i] + '>' + "\n")
        xmlData.write('</products_joined>' + "\n")

    rowNum +=1

xmlData.close()

2 个答案:

答案 0 :(得分:2)

您可以使用glob

import glob, os
os.chdir("/mydir")
for file in glob.glob("*.txt"):
    print(file)

在此处找到:Find all files in directory with extension .txt in Python

答案 1 :(得分:1)

您可以使用glob来获取文件夹中的所有文件,然后遍历每个文件。你可以创建一个方法,然后在方法上运行循环并传入文件名。 https://docs.python.org/2/library/glob.html这给出了glob函数的解释。

for file_path in Path('src').glob('**/*.c'):
    make_xml(file_path)