1

我需要一些帮助来将一些文本文件转换为 csv 文件。我所有的文本文件都在一个文件夹中,我想将它们转换为 csv 文件到另一个文件夹中。各个文件的名称应保持不变。下面是我到目前为止得到的脚本......转换单个文件工作正常,但要处理文件夹中的所有文件是我卡住的地方。任何帮助将不胜感激。

import csv
import os

directory = raw_input("INPUT Folder:")
output = raw_input("OUTPUT Folder")

txt_files = directory
csv_files = output

try:

    for txt_file in txt_files:
        in_txt = csv.reader(open(txt_file, "rb"), delimiter = '=')

        for csv_file in csv_files:

            out_csv = csv.writer(open(csv_file, 'wb'))
            out_csv.writerows(in_txt)
except:
    print ()
4

1 回答 1

5

glob.glob()非常适合这项任务。此外,with在处理文件时使用上下文管理器:

import csv
import glob
import os

directory = raw_input("INPUT Folder:")
output = raw_input("OUTPUT Folder:")

txt_files = os.path.join(directory, '*.txt')

for txt_file in glob.glob(txt_files):
    with open(txt_file, "rb") as input_file:
        in_txt = csv.reader(input_file, delimiter='=')
        filename = os.path.splitext(os.path.basename(txt_file))[0] + '.csv'

        with open(os.path.join(output, filename), 'wb') as output_file:
            out_csv = csv.writer(output_file)
            out_csv.writerows(in_txt)
于 2013-09-15T20:34:10.667 回答