You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:使用Pandas无法打开IMF的WEOApr2022all.tsv文件

解决IMF WEOApr2022all文件Pandas读取失败问题

问题背景

从IMF下载的WEOApr2022all.tsv文件(部分场景下下载后会被自动命名为.xls后缀),使用Pandas读取时触发ParserError,尝试过制表符分隔符、read_excel方法均无效。

原代码

import pandas as pd
path = "C:..\\WEOApr2022all.xls"
dataframe = pd.read_csv(path, sep="\\t", encoding='windows-1252')

报错信息

chunks = self._reader.read_low_memory(nrows)
File "pandas_libs\parsers.pyx", line 805, in pandas._libs.parsers.TextReader.read_low_memory
File "pandas_libs\parsers.pyx", line 861, in pandas._libs.parsers.TextReader._read_rows
File "pandas_libs\parsers.pyx", line 847, in pandas._libs.parsers.TextReader._tokenize_rows
File "pandas_libs\parsers.pyx", line 1960, in pandas._libs.parsers.raise_parser_error
pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 3, saw 14

错误原因

  1. 文件开头存在非数据行:IMF的WEO文件前10行左右是说明性文本,并非标准表头和数据,Pandas按指定分隔符读取时,前几行列数与后续数据不匹配,触发解析错误。
  2. 路径格式错误:C:..\\是无效的Windows路径写法,需使用完整绝对路径或正确的相对路径。
  3. 文件类型混淆:该文件本质是制表符分隔的文本文件(TSV),并非真正的Excel文件,使用read_excel方法无法正确解析。

解决方案

1. 修正文件路径

使用正确的Windows路径格式,推荐用原始字符串避免转义问题:

# 示例:绝对路径
path = r"C:\Downloads\WEOApr2022all.tsv"
# 示例:相对路径(文件在当前脚本目录下)
path = r".\WEOApr2022all.tsv"

2. 跳过开头的说明行

先打开文件确认实际表头所在行(通常在第11行,对应skiprows=10),读取时跳过这些非数据行:

import pandas as pd
path = r"C:\Downloads\WEOApr2022all.tsv"
# 跳过前10行说明内容,可根据实际文件调整行数
df = pd.read_csv(path, sep="\t", encoding='utf-8', skiprows=10)

若utf-8编码报错,替换为encoding='windows-1252'重试。

3. 验证数据起始行(可选)

不确定需要跳过多少行时,先读取前20行查看内容:

preview = pd.read_csv(path, sep="\t", encoding='windows-1252', nrows=20)
print(preview)

根据输出确定表头开始的行号,调整skiprows参数即可。

内容的提问来源于stack exchange,提问作者flowover9

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 08:15:44