久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

300萬條Excel數(shù)據(jù),讀取起來非常慢,,我如果開其他的程序,,還會(huì)保內(nèi)存不足。,。

 Python進(jìn)階者 2024-10-21 發(fā)布于廣東

朱雀橋邊野草花,,烏衣巷口夕陽斜。

大家好,,我是Python進(jìn)階者,。

一、前言

前幾天在Python鉑金交流群【逆光】問了一個(gè)Pandas數(shù)據(jù)處理的問題,,問題如下:

請(qǐng)問一下,,我現(xiàn)在有5個(gè)excel用pandas數(shù)據(jù),這5個(gè)excel加起來數(shù)據(jù)大概有300萬條,,讀取起來非常慢,,我如果開其他的程序,還會(huì)保內(nèi)存不足,。,。是我的數(shù)據(jù)量大了嗎?

二,、實(shí)現(xiàn)過程

這里【平庸】給了一個(gè)指導(dǎo),,具體如下所示:同樣的數(shù)據(jù),讀取xlsx很慢,,換成csv讀取就快很多,。

后來【瑜亮老師】給了一個(gè)指導(dǎo):感覺是你的代碼有問題,另外是否嘗試使用pandas的calamine引擎,?

【逆光】:那我5個(gè)excel數(shù)據(jù)咋拼接?。?/p>

【瑜亮老師】:這個(gè)代碼不用變,,只需使用pandas的calamine引擎讀取excel就能節(jié)省很多時(shí)間

【逆光】:我去試一試

【瑜亮老師】:使用 calamine 引擎,,需要提前安裝python-calamine 庫 安裝命令如下:pip install python-calamine

讀取的時(shí)候是pd.read_excel("demo.xlsx", engine='calamine')

這樣對(duì)你原代碼改動(dòng)最小

【平庸】:拼接簡(jiǎn)單,,循環(huán)每讀取一個(gè)xlsx表格時(shí),就以追加模式存到csv里,,首次寫出記得追加表頭,。這樣就合并了。你內(nèi)存不足才需要這樣干,,足夠就不用了,。

【逆光】:我去試一下

不過在安裝的時(shí)候,還是遇到了一些問題,。

【不上班能干啥,!】:pandas更新到2.2.0。但是這個(gè)并不能解決內(nèi)存不夠用的問題,,而是會(huì)加劇內(nèi)存不夠用,,calamine是一種空間換時(shí)間的做法

【逆光】:加內(nèi)存條有用不

【不上班能干啥!】:這指定 有用,,內(nèi)存不夠用基本都是將大批量數(shù)據(jù)處理改為小批量處理的方式

【逆光】:我讀取一個(gè)excel要7分鐘,。。,。,。

【不上班能干啥!】:先用calamine(可以節(jié)省時(shí)間)讀取單個(gè)excel轉(zhuǎn)換其他的格式,,方便后續(xù)的二次操作,。然后二次操作再讀取轉(zhuǎn)換后的數(shù)據(jù),這個(gè)時(shí)間消耗相對(duì)讀取excel來說會(huì)有質(zhì)的飛躍,,pandas中無論處理來源哪種格式的數(shù)據(jù),內(nèi)存消耗是一定的

【逆光】:我csv會(huì)出錯(cuò):  ParserError: Error tokenizing data. C error: EOF inside string starting at row 1237 的錯(cuò)誤通常表示在 CSV 文件中有格式問題,,例如未正確關(guān)閉的字符串,、換行符等。這種情況可能導(dǎo)致 Pandas 無法正確解析文件,。

【不上班能干啥,!】:那就可以不轉(zhuǎn)換為csv,pandas中支持的文件格式不僅僅為sql,、csv和excel,。可以嘗試轉(zhuǎn)換為其他文件格式,,相對(duì)于csv數(shù)據(jù)格式也能夠保留,,相對(duì)于excel物理內(nèi)存也比較小。

【逆光】:哈哈,,我得去學(xué)習(xí)一下我不會(huì)

【不上班能干啥,!】:feather,,parquet都是好用的,僅在pandas中用幾乎沒有學(xué)習(xí)成本

順利地解決了自己的問題,。

如果你也有類似這種Python相關(guān)的小問題,,歡迎隨時(shí)來交流群學(xué)習(xí)交流哦,有問必答,!

三,、總結(jié)

大家好,我是Python進(jìn)階者,。這篇文章主要盤點(diǎn)了一個(gè)Pandas數(shù)據(jù)處理使用的問題,,文中針對(duì)該問題,給出了具體的解析和代碼實(shí)現(xiàn),,幫助粉絲順利解決了問題,。

最后感謝粉絲【逆光】提出的問題,感謝【平庸】,、【論草莓如何成為凍干莓】,、【瑜亮老師】給出的思路,感謝【莫生氣】等人參與學(xué)習(xí)交流,。

【提問補(bǔ)充】溫馨提示,,大家在群里提問的時(shí)候??梢宰⒁庀旅鎺c(diǎn):如果涉及到大文件數(shù)據(jù),,可以數(shù)據(jù)脫敏后,發(fā)點(diǎn)demo數(shù)據(jù)來(小文件的意思),,然后貼點(diǎn)代碼(可以復(fù)制的那種),,記得發(fā)報(bào)錯(cuò)截圖(截全)。代碼不多的話,,直接發(fā)代碼文字即可,,代碼超過50行這樣的話,發(fā)個(gè).py文件就行,。

大家在學(xué)習(xí)過程中如果有遇到問題,,歡迎隨時(shí)聯(lián)系我解決(我的微信:pdcfighting1),應(yīng)粉絲要求,,我創(chuàng)建了一些高質(zhì)量的Python付費(fèi)學(xué)習(xí)交流群和付費(fèi)接單群,,歡迎大家加入我的Python學(xué)習(xí)交流群和接單群!

------------------- End -------------------

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多