文章詳情頁
python3.x - 求助python下高效且支持大數據量的database2excel方案
瀏覽:216日期:2022-09-02 14:05:47
問題描述
大家好。小弟目前需要一個速度較好,且支持大數據量的數據庫導出至excel(xlsx)的方案小弟的機器配置不高,4核的CPU,可用內存在8G左右(不過是虛擬機,可能性能實際還要低一點)小弟之前嘗試過以下幾種方案openpyxl:大數據量情況下經常會吃光內存。實驗生成100W條/每條6個字段的數據,經常會把小弟這8G內存吃滿。生成excel時間大概在10分鐘~11分鐘左右pyexcel_xlsx:貌似這部分引用的還是openpyxl的東東…不過貌似有一定的優化,生成生成100W條/每條6個字段的數據,消耗內存近3G,時間在8分半左右
這兩個方案效率都非常低,而且小弟目前都沒有找到中途將內存寫入文件的方法…
請各位大大指點,是否還有其他的方案,最好是能夠控制單次寫入條數,例如每寫入5W條,進行一次提交,將內存的東東寫在文件中并釋放內存,再繼續寫入這樣的。(這樣也許可以考慮配合多線程來進行并行寫入,加快效率…)謝謝各位了
問題解答
回答1:pandas有分塊讀取的功能,關鍵詞chunksizedf = pd.read_csv('xxxx',chunksize=10000)可以去研究下文檔:http://pandas.pydata.org/pand...
標簽:
python
相關文章:
1. node.js - mongodb查找子對象的名稱為某個值的對象的方法2. javascript - QQ第三方登錄的問題3. 測試自動化html元素選擇器元素ID或DataAttribute [關閉]4. 運行python程序時出現“應用程序發生異?!钡膬却驽e誤?5. spring-mvc - spring-session-redis HttpSessionListener失效6. 在mac下出現了兩個docker環境7. 利用IPMI遠程安裝centos報錯!8. mysql - 查詢 修改數據庫優化問題吧9. 正在使用electron和node.js做桌面應用,需要實時監聽是否有網絡連接,node或者electron是否可以做到10. java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統有創建日志文件,不寫入日志信息。
排行榜

網公網安備