【发布时间】:2015-11-05 04:55:46
【问题描述】:
我正在尝试从 URL 读取 ZipFile 数据并通过 StringIO 使用 pandas.read_csv 将 ZipFile 中的数据解析为 csv
r = req.get("http://seanlahman.com/files/database/lahman-csv_2014-02-14.zip").content
file = ZipFile(StringIO(r))
salaries_csv = file.open("Salaries.csv")
salaries = pd.read_csv(salaries_csv)
最后一行给了我一个错误:
CParserError: Error tokenizing data. C error: Calling read(nbytes) on source failed. Try engine='python'.
但是如果我尝试使用
salaries = pd.read_csv(file.open("Salaries.csv"))
它有效。
所以我想知道我在这里错过了什么。
file.open 应该返回一个ZipExtFile 对象,并且由于 read_csv 只接受字符串或文件句柄/StringIO 输入,那么为什么最后一行有效?
【问题讨论】:
标签: python pandas zipfile stringio