答案:Python使用pandas读取Excel多sheet并合并,通过pd.read_excel(sheet_name=None)获取所有sheet字典,再用pd.concat()整合为单一DataFrame。可添加source_sheet列标记数据来源,或指定sheet名称列表仅合并部分表。需注意各sheet列结构一致性,避免合并后产生NaN值。示例代码展示了完整流程,包括保留来源信息和筛选特定sheet的方法。

Python可以通过 pandas 结合 openpyxl 或 xlrd 等库来读取和操作 Excel 文件中的多个 sheet,并将它们整合成一个统一的数据结构。最常用的方法是把所有 sheet 的数据合并成一个 DataFrame,便于后续分析。
使用 pandas 的 read_excel 方法,可以指定读取某个 sheet,或者一次性读取所有 sheet。通过设置 sheet_name=None,会返回一个字典,键是 sheet 名称,值是对应的数据框。
示例代码:
import pandas as pd <h1>读取所有 sheet</h1><p>file_path = 'data.xlsx' all_sheets = pd.read_excel(file_path, sheet_name=None)</p><h1>将所有 sheet 的数据合并成一个 DataFrame</h1><p>combined_df = pd.concat(all_sheets.values(), ignore_index=True)</p><p><span>立即学习</span>“<a href="https://pan.quark.cn/s/00968c3c2c15" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">Python免费学习笔记(深入)</a>”;</p><h1>查看结果</h1><p>print(combined_df.head())
如果需要知道每一行数据来自哪个 sheet,可以在合并前为每张表添加一个标识列。
示例代码:
import pandas as pd <p>file_path = 'data.xlsx' all_sheets = pd.read_excel(file_path, sheet_name=None) df_list = []</p><p>for sheet_name, df in all_sheets.items(): df['source_sheet'] = sheet_name # 添加 sheet 名称作为新列 df_list.append(df)</p><h1>合并所有带来源标记的表</h1><p>combined_df = pd.concat(df_list, ignore_index=True)
若不需要全部 sheet,可手动指定 sheet 名称或根据条件过滤。
示例代码:
# 只读取指定的 sheet selected_sheets = ['Sheet1', 'Sheet2'] selected_data = pd.read_excel(file_path, sheet_name=selected_sheets) combined_df = pd.concat(selected_data.values(), ignore_index=True)
基本上就这些。只要掌握 pd.read_excel(sheet_name=None) 和 pd.concat(),就能灵活处理多 sheet 整合问题。注意确保各 sheet 的列结构相似,否则合并后可能出现 NaN 值。不复杂但容易忽略细节。
以上就是Python如何对多个sheet表进行整合?的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
 
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号