Pandas to_csv index=False 在写入增量块时不起作用

Pandas to_csv index=False not working when writing incremental chunks

我正在将固定宽度的文件写入 CSV。因为文件太大无法一次读取,所以我以 100000 块为单位读取文件并附加到 CSV。这工作正常,但是尽管设置了 index = False.

,它仍在向行添加索引

如何完成没有索引的CSV文件?

infile = filename
outfile = outfilename
cols = [(0,10), (12,19), (22,29), (34,41), (44,52), (54,64), (72,80), (82,106), (116,144), (145,152), (161,169), (171,181)]

for chunk in pd.read_fwf(path, colspecs = col_spec, index=False, chunksize=100000):
chunk.to_csv(outfile,mode='a')

to_csv method有一个header参数,表示是否输出表头。在这种情况下,对于不是第一次写入的写入,您可能想要这个。

所以,你可以这样做:

for i, chunk in enumerate(pd.read_fwf(...)):
    first = i == 0
    chunk.to_csv(outfile, header=first, mode='a')