python對(duì)8000行csv添加列
問(wèn)題描述
想要對(duì)已有的8000多列csv,添加2000多列,由于文件過(guò)大,不能一次性加載到內(nèi)存中,所以想一列一列的寫(xiě)入到已有的csv中,試了很多中方法,都不行,請(qǐng)問(wèn)該怎么解決
問(wèn)題解答
回答1:按行讀入,然后加入這些列啊。CSV一般都是逗號(hào)分隔的文本文件,按照文本文件的處理方法處理就行。一般流程就是:1.讀入一行2.以逗號(hào)切分字符串為數(shù)組3.給數(shù)組加上你想要的列元素4.以逗號(hào)為分隔連接數(shù)組5.將這行寫(xiě)入新文件6.一直到文件結(jié)尾即可。
回答2:pandas有分塊讀取,示例代碼
import pandas as pdreader = pd.read_csv(’a.csv’, iterator=True)header = Truetry: df = reader.get_chunk(10000) #循環(huán)加添新列到df df[’新列’] = ’值’ #把記錄追加到新csv df.to_csv(’b.csv’, mode=’a’, index=False, header=header)#文件頭只寫(xiě)一次 header = Falseexcept StopIteration: pass
相關(guān)文章:
1. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””2. boot2docker無(wú)法啟動(dòng)3. docker-compose中volumes的問(wèn)題4. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.5. nignx - docker內(nèi)nginx 80端口被占用6. java - SSH框架中寫(xiě)分頁(yè)時(shí)service層中不能注入分頁(yè)類7. 關(guān)于docker下的nginx壓力測(cè)試8. dockerfile - 為什么docker容器啟動(dòng)不了?9. node.js - antdesign怎么集合react-redux對(duì)input控件進(jìn)行初始化賦值10. docker容器呢SSH為什么連不通呢?

網(wǎng)公網(wǎng)安備