为了账号安全,请及时绑定邮箱和手机立即绑定

pandas.read_excel 和 to_excel 仅使用最大的工作表或具有最多列的工作表

pandas.read_excel 和 to_excel 仅使用最大的工作表或具有最多列的工作表

萧十郎 2022-11-01 14:44:34
有没有一种方法可以读取所有 xlsx 文件的表格,然后全部放弃购买行数最多的文件?理想情况下,我想找到字面上包含最多数据的工作表,以字节为单位,但行现在可以工作我还希望能够通过加载例如文件的头部来做到这一点,这样加载时间就会更短,但我可以使用 .columns 和 len 来查找哪个工作表的列最多
查看完整描述

1 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

读取 Excel 文件的所有工作表并将其存储在dictionary:


xls = pd.ExcelFile('excel_file_path.xls')

sheet_to_df_map = {}

for sheet_name in xls.sheet_names:

    sheet_to_df_map[sheet_name] = xls.parse(sheet_name)

现在,您可以遍历您的字典并创建另一个具有数据帧行数的字典,如下所示:


row_count_dict = {}     


for key,val in sheet_to_df_map.items():

    row_count_dict[key] = val.shape[0]

然后找到按值的row_count_dict最大值:


df_with_max_rows = max(row_count_dict, key=row_count_dict.get)

然后使用该键查找原始字典以获取具有 max_rows 的数据帧:


df = sheet_to_df_map.get(df_with_max_rows)

这将是您的最终数据框。


查看完整回答
反对 回复 2022-11-01
  • 1 回答
  • 0 关注
  • 113 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号