我正在尝试使用以下脚本将超过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))
答案 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('*')