簡體   English   中英

如何有效地轉換 gzip 文本文件的編碼?

[英]How to efficiently convert the encoding of a gzipped text file?

我有多個壓縮為 GZ 的大文件 CSV (~1GB)。 我的問題是它們在 ISO-8859-1 中編碼,我希望它們在 UTF-8 中。

顯然我可以解壓縮每個文件,將它們轉換為 UTF-8,然后再壓縮回來,但這對我來說在內存方面似乎效率很低。

有沒有一種干凈高效的方法可以在現場執行此操作並避免臨時存儲大文件?

您提到了兩個不同的問題,“內存效率低下”和“臨時存儲大文件”,就好像它們是一個問題一樣。 他們不是。

您當然不需要也不應該將整個文件加載到 memory 中。您可以使用 Python 的 GzipFile class 讀取文件的小塊並將小塊寫回。 所以沒有 memory 問題。

為此,您需要將輸入文件保留在大容量存儲器中,直到 output 文件完成,此時您可以刪除輸入文件。 雖然您可以避免在大容量存儲中存在中間未壓縮文件,但至少暫時需要足夠的空閑大容量存儲來存儲文件的第二個副本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM