pandas.read_excel 参数“sheet_name”不起作用
Posted
技术标签:
【中文标题】pandas.read_excel 参数“sheet_name”不起作用【英文标题】:pandas.read_excel parameter "sheet_name" not working 【发布时间】:2018-06-07 03:15:24 【问题描述】:根据pandas doc for 0.21+,pandas.read_excel
有一个参数sheet_name
,允许指定读取哪个工作表。但是当我试图从 excel 文件中读取第二张表时,无论我如何设置参数(sheet_name = 1
、sheet_name = 'Sheet2'
),数据框始终显示第一张表,并传递索引列表(sheet_name = [0, 1]
) 不返回数据框字典,但仍然是第一张表。这里可能有什么问题?
【问题讨论】:
我遇到了同样的问题,升级到 0.21 后解决了 【参考方案1】:在终端尝试,首先键入以下内容,然后重新运行您的程序: pip install xlrd
【讨论】:
【参考方案2】:这行得通:
df = pd.read_excel(open(file_path_name), 'rb'), sheetname = sheet_name)
file_path_name = your file
sheet_name = your sheet name
这不适合我:
df = pd.read_excel(open(file_path_name), 'rb'), sheet_name = sheet_name)
无论我如何定义 sheet_name,只给我第一张表。
--> 这是一个已知错误: https://github.com/pandas-dev/pandas/issues/17107
【讨论】:
【参考方案3】:看起来您使用的是旧版本的 Python。 所以试着改变你的代码
df = pd.read_excel(file_with_data, sheetname=sheet_with_data)
它应该可以正常工作。
【讨论】:
检查您的 pandas 版本pd.__version__
如果 .21 或更新版本,请使用 sheet_name
关键字参数。如果是旧版本,请使用sheetname
pandas.read_excel【参考方案4】:
你可以尝试使用pd.ExcelFile
:
xls = pd.ExcelFile('path_to_file.xls')
df1 = pd.read_excel(xls, 'Sheet1')
df2 = pd.read_excel(xls, 'Sheet2')
【讨论】:
以上是关于pandas.read_excel 参数“sheet_name”不起作用的主要内容,如果未能解决你的问题,请参考以下文章
pandas.read_excel参数“sheet_name”无法正常工作,,将sheet_name改写成sheetname
通过 pandas.read_excel 在标题后跳过行范围