Python脚本未合并csv文件

Python脚本未合并csv文件,python,csv,Python,Csv,我正在尝试使用下面的脚本将100000多个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"

我正在尝试使用下面的脚本将100000多个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))

首先检查读取文件的长度:

read_files = glob.glob("*.csv")
print(len(read_files))
注意glob不一定是递归的


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

< P>您是舒尔吗?您的所有文件名都以<代码> .CSV < /代码>结束。如果此目录中的所有文件都包含您所需的内容,则无需筛选即可打开所有文件

glob.glob('*') 

read_文件
是否实际包含所有100000个文件?(在同一个目录中有大量文件。)如果使用打开输出文件,则无需先检查并删除该文件。是否有些文件名以点“.”开头?在不同的情况下,是否存在“csv”扩展?我只需检查(甚至在python CLI中运行)glob.glob()函数的结果是什么,然后从那里开始。如何检查read_文件是否包含所有文件?文件的名称如下:“file0000001,file000002,等等。”当“组合文件”变得更大,将所有100000个csv文件组合在一起时,它的大小将达到数百兆比特。那有关系吗?