pd.read_excel - 导入具有不同设置的多张工作表
Posted
技术标签:
【中文标题】pd.read_excel - 导入具有不同设置的多张工作表【英文标题】:pd.read_excel - import multiple sheets with different settings 【发布时间】:2021-04-06 15:08:46 【问题描述】:我正在导入一个非常大 (60+MB) 的 xlsx 文件,其中包含许多选项卡。只有一个标签需要跳过,我试过了:
TuFile=pd.read_excel('TUp.xlsx', sheet_name=['T_up','Raw_Data','Base','Summary'], skiprows=[8,None,None,None])
注意:我正在尝试复制:TuFile = xls.parse(xls.sheet_names[3], skiprows=8)
,它工作得很好,除了我不能使用工作表名称。
【问题讨论】:
【参考方案1】:当您使用pandas.read_excel()
加载多个工作表时,工作表将存储在字典中,键是相应的工作表名称。当skiprows
参数以这种方式加载多个工作表时,指定的顶部行数或给定的行列表将从所有工作表中跳过。
比如你的代码修改如下,
TuFile=pd.read_excel('TUp.xlsx', sheet_name=['T_up','Raw_Data','Base','Summary'], skiprows=[8])
这将在加载所有工作表的数据时跳过前 8 行。
当指定行列表时,
TuFile=pd.read_excel('TUp.xlsx', sheet_name=['T_up','Raw_Data','Base','Summary'], skiprows=[1, 8])
这将在加载数据时跳过所有工作表中的第一行和第八行。
因此,如果您只想跳过其中一张工作表中的行,最好的选择是通过定义工作表名称来单独加载,然后再加载其余的工作表。假设您只想跳过“T_up”表中的行并保持其余部分不变,您可以这样做,
TuFile=pd.read_excel('TUp.xlsx', sheet_name='T_up', skiprows=[8])
TuFile=pd.read_excel('TUp.xlsx', sheet_name=['Raw_Data','Base','Summary'])
【讨论】:
再戳一下,skirows 是基于 0 的,所以 skiprows=[None,4,1] 实际上会忽略每张纸中的第 2 行和第 5 行。 :( 猜猜我必须按照建议单独加载一张纸。谢谢! 是的,完全正确。 0 实际上摆脱了标题。以上是关于pd.read_excel - 导入具有不同设置的多张工作表的主要内容,如果未能解决你的问题,请参考以下文章
如何使用通配符导入多个具有相似工作表名称的 Excel 文件?
使用 pandas read_excel() 将 .xls 文件格式导入 python 时出现 CompDocError