python - Pandas to_csv index=False 在写入增量 block 时不起作用

标签 python pandas csv chunks

我正在将固定宽度的文件写入 CSV。因为文件太大无法一次读取,所以我以 100000 block 为单位读取文件并附加到 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参数,表示是否输出header。在这种情况下,对于不是第一次写入的写入,您可能希望这样做。

所以,你可以这样做:

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

关于python - Pandas to_csv index=False 在写入增量 block 时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31049214/

相关文章:

python - 使用数据透视表查找日期索引之间的差异

python - 字符识别的最佳算法

python - 如何使用kivyMD做笔记?

python - Pandas 数据框中的高效特征缩减

postgresql - 从 CSV 文件更新 PostgreSQL 表

python - Django - 突然登录到(runserver)控制台

python - Python 3.5 中的时间序列 - 拟合 ARMA 模型

python - 删除包含 NaN、NaTs 和 nans 的任何列的行

python - 使用 pandas.read_csv 从 URL 读取压缩的 CSV 文件时出错

php - 将远程 CSV 导入到 mySQL 表?