CSV重复行方法找不到输出文件

时间:2016-12-08 20:12:07

标签: python csv duplicates

我尝试做一些非常简单的事情,使用more_itertools将CSV文件1中的唯一行输出到CSV文件2,作为许多CSV文件的迭代过程。但是,我收到错误:

IOError: [Errno 2] No such file or directory: u'first_file.csv'

这是有问题的代码。我正在迭代一个名为" newCsvFileList"的列表对象。包含许多CSV文件。我正在使用more_itertools库并在脚本开头从它导入unique_everseen方法。

outDir = filepath + "\\final_tables"

for i in newCsvFileList:
    outCsv = os.path.join(outDir, i)
    if not os.path.exists(outDir):
        try:
            os.makedirs(outDir)
        except OSError as exc:
            if exc.errno != errno.EEXIST:
                raise
    with open(i, 'r') as f, open(outCsv, 'w') as out_file:
        out_file.writelines(unique_everseen(f))

正在成功创建outDir目录,但显然没有创建outCSV文件。

1 个答案:

答案 0 :(得分:0)

我认为我仍然会发布修复程序以保持彻底性。

outDir = filepath + "\\final_tables"
inDir = filepath + "\\input_tables"

for i in newCsvFileList:
    oldCsv = os.path.join(inDir, i)  # This is what was missing
    outCsv = os.path.join(outDir, i)
    if not os.path.exists(outDir):
        try:
            os.makedirs(outDir)
        except OSError as exc:
            if exc.errno != errno.EEXIST:
                raise
    with open(i, 'r') as f, open(outCsv, 'w') as out_file:
        out_file.writelines(unique_everseen(f))
相关问题