从压缩文件夹中的文件夹中读取 txt 文件作为 pandas 数据框

Posted

技术标签:

【中文标题】从压缩文件夹中的文件夹中读取 txt 文件作为 pandas 数据框【英文标题】:Reading in txt file as pandas dataframe from a folder within a zipped folder 【发布时间】:2020-09-22 12:12:26 【问题描述】:

我想读取一个 txt 文件,该文件位于压缩文件夹中的文件夹中,作为 pandas 数据框。

我已经了解了如何读取 txt 文件以及如何从压缩文件夹中访问文件,分别为 Load data from txt with pandas 和 Download Returned Zip file from URL。

问题是我的代码收到KeyError 消息。

我认为这是因为我的 txt 文件位于文件夹中的文件夹中?

感谢您的帮助!

# MWE

import requests
import pandas as pd
from zipfile import ZipFile
from io import BytesIO


txt_raw = 'hcc-data.txt'
zip_raw = 'https://archive.ics.uci.edu/ml/machine-learning-databases/00423/hcc-survival.zip'

r = requests.get(zip_raw)
files = ZipFile(BytesIO(r.content))
df_raw = pd.read_csv(files.open(txt_raw), sep=",", header=None)


# ERROR
KeyError: "There is no item named 'hcc-data.txt' in the archive"

【问题讨论】:

压缩包不包含 'hcc-data.txt' - 检查压缩包结构 【参考方案1】:

您需要添加文件的完整路径:

txt_raw = 'hcc-survival/hcc-data.txt'

【讨论】:

以上是关于从压缩文件夹中的文件夹中读取 txt 文件作为 pandas 数据框的主要内容,如果未能解决你的问题,请参考以下文章

java 读取zip里面的文件夹

使用 CMake 压缩文件?

matlab读取txt文件中的数据存为矩阵

如何在不提取Java的情况下读取压缩文件的内容

从 zip 文件中解压缩选定的文件

怎样从JAR文件中读取文件?