pandas.read_csv——分块读取大文件
生活随笔
收集整理的這篇文章主要介紹了
pandas.read_csv——分块读取大文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
read_csv中有個參數chunksize,通過指定一個chunksize分塊大小來讀取文件,返回的是一個可迭代的對象TextFileReader,IO Tools 舉例如下:In [138]: reader = pd.read_table('tmp.sv', sep='|', chunksize=4)In [139]: reader
Out[139]: <pandas.io.parsers.TextFileReader at 0x120d2f290>In [140]: for chunk in reader:.....: print(chunk).....: Unnamed: 0 0 1 2 3
0 0 0.469112 -0.282863 -1.509059 -1.135632
1 1 1.212112 -0.173215 0.119209 -1.044236
2 2 -0.861849 -2.104569 -0.494929 1.071804
3 3 0.721555 -0.706771 -1.039575 0.271860Unnamed: 0 0 1 2 3
0 4 -0.424972 0.567020 0.276232 -1.087401
1 5 -0.673690 0.113648 -1.478427 0.524988
2 6 0.404705 0.577046 -1.715002 -1.039268
3 7 -0.370647 -1.157892 -1.344312 0.844885Unnamed: 0 0 1 2 3
0 8 1.075770 -0.10905 1.643563 -1.469388
1 9 0.357021 -0.67460 -1.776904 -0.968914指定iterator=True 也可以返回一個可迭代對象TextFileReader :In [141]: reader = pd.read_table('tmp.sv', sep='|', iterator=True)In [142]: reader.get_chunk(5)
Out[142]: Unnamed: 0 0 1 2 3
0 0 0.469112 -0.282863 -1.509059 -1.135632
1 1 1.212112 -0.173215 0.119209 -1.044236
2 2 -0.861849 -2.104569 -0.494929 1.071804
3 3 0.721555 -0.706771 -1.039575 0.271860
4 4 -0.424972 0.567020 0.276232 -1.087401最后定義如下函數返回df:def get_df(file):mylist = []for chunk in pd.read_csv(file, chunksize=20000):mylist.append(chunk)temp_df = pd.concat(mylist, axis= 0)del mylistreturn temp_df
總結
以上是生活随笔為你收集整理的pandas.read_csv——分块读取大文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wordcloud用来制作中文词云
- 下一篇: IDEA下用SBT搭建Spark Hel