簡體   English   中英

在python中逐行迭代大型.xz文件

[英]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.

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