python對8000行csv新增列
给我你的怀抱
给我你的怀抱 2017-05-18 10:54:39
0
2
949

想要對已有的8000多列csv,添加2000多列,由於文件過大,不能一次性加載到內存中,所以想一列一列的寫入到已有的csv中,試了很多中方法,都不行,請問該怎麼解決

给我你的怀抱
给我你的怀抱

全部回覆(2)
PHPzhong

按行讀入,然後加入這些列啊。 CSV一般都是逗號分隔的文字文件,依照文字文件的處理方法處理就好。一般流程是:
1.讀入一行
2.以逗號切分字串為數組
3.給數組加上你想要的列元素
4.以逗號為分隔連接數組
5.將這行寫入新檔案
6.一直到檔案結尾即可。

刘奇

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板