【发布时间】:2020-02-21 20:46:03
【问题描述】:
我有一个存档文件 (archive.tar.gz),其中包含多个存档文件 (file.txt.gz)。
如果我首先将 .txt.gz 文件提取到一个文件夹中,然后我可以使用 pandas 直接打开它们:
import pandas as pd
df = pd.read_csv('file.txt.gz', sep='\t', encoding='utf-8')
但如果我使用 tarfile 库浏览存档,则它不起作用:
import pandas as pd
import tarfile
tar = tarfile.open("archive.tar.gz", "r:*")
csv_path = tar.getnames()[1]
df = pd.read_csv(tar.extractfile(csv_path), sep='\t', encoding='utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
有可能吗?
【问题讨论】: