首页  >  问答  >  正文

python对8000行csv添加列

想要对已有的8000多列csv,添加2000多列,由于文件过大,不能一次性加载到内存中,所以想一列一列的写入到已有的csv中,试了很多中方法,都不行,请问该怎么解决

给我你的怀抱给我你的怀抱2711 天前902

全部回复(2)我来回复

  • PHPz

    PHPz2017-05-18 10:56:39

    按行读入,然后加入这些列啊。CSV一般都是逗号分隔的文本文件,按照文本文件的处理方法处理就行。一般流程就是:
    1.读入一行
    2.以逗号切分字符串为数组
    3.给数组加上你想要的列元素
    4.以逗号为分隔连接数组
    5.将这行写入新文件
    6.一直到文件结尾即可。

    回复
    0
  • 怪我咯

    怪我咯2017-05-18 10:56:39

    pandas有分块读取,示例代码

    import pandas as pd
    
    reader = pd.read_csv('a.csv', iterator=True)
    
    header = True
    try:
        df = reader.get_chunk(10000)
    
        #循环加添新列到df
        df['新列'] = '值'
    
        #把记录追加到新csv
        df.to_csv('b.csv', mode='a', index=False, header=header)
        
        #文件头只写一次
        header = False
    
    except StopIteration:
        pass
    

    回复
    0
  • 取消回复