Python脚本没有组合csv文件

时间:2016-04-14 05:27:50

标签: python csv

我正在尝试使用以下脚本将超过100,000个CSV文件(所有相同格式)合并到一个文件夹中。每个CSV文件平均大小为3-6KB。当我运行此脚本时,它只打开47个.csv文件并组合。当我重新运行它时,它只组合相同的.csv文件,而不是所有文件。我不明白为什么会这样做?

import os
import glob

os.chdir("D:\Users\Bop\csv")    

want_header = True
out_filename = "combined.files.csv"          

if os.path.exists(out_filename):
    os.remove(out_filename)

read_files = glob.glob("*.csv")

with open(out_filename, "w") as outfile:
    for filename in read_files:
        with open(filename) as infile:
            if want_header:
                outfile.write('{},Filename\n'.format(next(infile).strip()))
                want_header = False
            else:
                next(infile)
            for line in infile:
                outfile.write('{},{}\n'.format(line.strip(), filename))

2 个答案:

答案 0 :(得分:0)

首先检查read_files的长度:

 final CustomAdapter sc = new CustomAdapter(this,R.layout.list_row2,ictemp, from, to, 0);
 lv.setAdapter(sc)

请注意,glob不一定是递归的as described in this SO question

否则您的代码看起来很好。您可能需要考虑使用CSV库,但请注意,您需要使用really large files调整字段大小限制。

答案 1 :(得分:0)

您是否确保所有文件名以.csv结尾?如果此目录中的所有文件都包含您需要的内容,则打开所有文件而不进行过滤。

glob.glob('*')