[英]Iterate a large .xz file line by line in python
我有一個很大的.xz文件(幾GB)。 它充滿了純文本。 我想處理文本以創建自定義數據集。 我想逐行閱讀,因為它太大了。 任何人都有一個想法怎么做?
我已經嘗試過此方法如何在內存中打開和讀取LZMA文件,但是它不起作用。
編輯:我收到此錯誤'ascii'編解碼器無法解碼位置0的字節0xfd:序數不在范圍內(128)
for line in uncompressed:
從鏈接
EDIT2:我的代碼(使用python 3.5)
with open(filename) as compressed:
with lzma.LZMAFile(compressed) as uncompressed:
for line in uncompressed:
print(line)
幾周前,我面臨着同樣的問題。 此代碼段對我有用:
import lzma
with lzma.open('filename.xz', mode='rt') as file:
for line in file:
print(line)
假設壓縮文件中的文本數據是用utf-8編碼的(我的數據就是這種情況)。 函數lzma.open()
有一個encoding
參數,允許您根據需要設置其他編碼
編輯(您自己編輯后):嘗試在lmza.open()
強制encoding='utf-8'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.