我有一个包含多张相同结构的Excel文件。
行数因每张表而异,但pd.read_excel()
会返回df
nb_rows == nb_rows on the first sheet
。
我用CTRL+down
检查了Excel工作表 - 工作表中间没有空行。
我该如何解决这个问题?
示例代码如下:
import pandas as pd
xls_sheets = ['01', '02', '03']
fname = 'C:\\data\\data.xlsx'
xls = pd.ExcelFile(fname)
for sheet in xls_sheets:
df = pd.read_excel(io=xls, sheet_name=sheet)
print(len(df))
输出:
>> 4043 #Actual nb_rows = 4043
>> 4043 #Actual nb_rows = 11015
>> 4043 #Actual nb_rows = 5622
python 3.5,pandas 0.20.1
答案 0 :(得分:0)
如果是,请检查xls_sheets列表中表单的名称是否正确,然后在安装xlrd库/模块(pip install xlrd)后尝试,然后再次运行代码。因为对我来说它运作正常。希望这能帮到你!
答案 1 :(得分:0)
鉴于问题的信息有限,并假设您想阅读Excel文件中的所有表格,我建议您使用以下内容:
data=pd.read_excel('excelfile.xlsx', sheet_name=None)
data
是一个字典,其中的键是工作表名称,值是每张工作表中的数据。请尝试这种方法。它可以解决您的问题。