У меня есть архивный файл (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
Возможно ли это делать?