Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
資源鏈接:han-link.cn/4240.html
#妙筆生花創作挑戰#
前使用Python讀取超大CSV文件時,出現MemoryError錯誤,甚至死機。。。嘔心瀝血潛心研究后,發現使用pandas的read_csv模塊通過分塊讀取,可以完美解決針對超大CSV文件進行數據分析處理時的內存不足問題,接下來與大家分享一下。
Anaconda是一個開源的Python發行版本,其包含了conda、Python、numpy、pandas等180多個科學包及其依賴項。建議直接安裝Anaconda2 或 Anaconda3 ,最好裝64位。
下載地址如下:
https://www.anaconda.com/
read_csv官方文檔鏈接:
http://pandas.pydata.org/pandas-docs/stable/io.html#io-read-csv-table
從官方文檔中我們注意到chunksize 、iterator兩個參數,下面我們就這兩個參數做詳細介紹 。
Iteration
iterator : boolean, default False
Return TextFileReader object for iteration or getting chunks with get_chunk().
chunksize : int, default None
Return TextFileReader object for iteration. See iterating and chunking below.
read_csv中有個參數chunksize,通過指定一個chunksize分塊大小來讀取文件,返回的是一個可迭代的對象TextFileReader,分塊處理可以避免將所有的文件載入內存,僅在使用的時候讀入所需內容。數據的處理和清洗通常使用分塊的方式處理,可以大大降低內存的使用,同時耗時要相對長一些。
import pandas as pd reader=pd.read_csv('pandas.csv', sep='|',chunksize=2) for chunksize_data in reader: print chunksize_data
輸出
指定iterator=True 也可以返回一個可迭代對象TextFileReader。
import pandas as pd reader=pd.read_table('pandas.csv', sep='|', iterator=True) status=True while status: try: chunk=reader.get_chunk(2) print chunk except StopIteration: status=False
輸出
除了通過分塊避免一次性將全部內容加載至內存中,還可以嘗試如下方式讀取超大csv文件進行數據分析、處理。
轉載請說明,若你對有幫助,點贊支持哦。
ode.js是一個可以使用JavaScript運行的服務器端環境,CSV是文本數據,使用逗號作為一列的分隔符,換行代碼作為一個記錄的分隔符。它是一種用于在其他應用程序中一般使用Excel數據的格式。本篇文章就來給大家介紹Node.js處理CSV文件的方法。
如何使用npm的csv包?
為了在Node.js中處理CSV,有一種方法可以使用npm csv模塊。
npm csv模塊的實際用途是轉換JSON數據和csv以及讀取和寫入csv數據。
如何安裝npm CSV模塊?
命令:使用npm install csv安裝csv模塊。
npm install csv
Node.js處理CSV文件的具體示例
如何使用npm csv將Json數據轉換為csv
代碼如下
const csv=require('csv')
const input=[ [ "1", "2", "3", "4" ], [ "", "在線編程", "短期掌握", "線上學習" ] ];
csv.stringify(input, function(output){
console.log(output);
});
顯示結果
[ '1', '2', '3', '4' ],
[ "", "在線編程", "短期掌握", "線上學習" ]
總結,以上就是本篇文章的全部內容了,更多精彩內容大家可以關注的其他相關教程欄目!!!
以上就是如何使用Node.js處理CSV文件的詳細內容,更多請關注其它相關文章!
更多技巧請《轉發 + 關注》哦!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。