如何使用python将一个excel中不同sheet的数据整合到一起形成新的excel 表,代码及详细注释
时间: 2024-10-22 16:26:51 浏览: 29
源码用python将一个Excel表里多个sheet相同的列进行提取并汇总
在Python中,我们可以使用pandas库来处理Excel文件并合并不同工作表的数据。以下是使用pandas的一个简单示例:
```python
# 首先,需要安装pandas和openpyxl库,如果还没有安装,可以使用pip安装:
# pip install pandas openpyxl
import pandas as pd
# 定义读取数据的函数,这里假设所有工作表都有相同的列名
def merge_sheets(input_file, output_file):
# 读取Excel文件,指定engine='openpyxl'是为了支持xlsx文件
writer = pd.ExcelWriter(output_file, engine='openpyxl')
# 使用pandas的read_excel函数,参数sheet_name=None表示读取所有工作表
for sheet_name in pd.read_excel(input_file, sheet_name=None):
if sheet_name is not None: # 如果不是第一个Sheet,添加标题行
df = pd.read_excel(input_file, sheet_name=sheet_name, header=0, index_col=False)
else: # 对于第一个Sheet,设置index=False,因为通常第一个Sheet不需要索引
df = pd.read_excel(input_file, sheet_name=sheet_name, header=0, index_col=False, usecols="A:B") # 可能只需要特定列
# 写入到Excel writer对象,这里的`startrow`用于插入新数据的位置,`engine='openpyxl'`保持了原格式
df.to_excel(writer, sheet_name=sheet_name, startrow=len(writer.sheets), index=False)
# 最后关闭Excel writer,实际保存文件
writer.save()
# 使用这个函数,传入源文件和目标文件路径
merge_sheets('input.xlsx', 'output.xlsx')
```
在这个例子中,我们遍历输入文件的所有工作表,并将它们逐个读取成DataFrame,然后写入到新的输出Excel文件中。注意,每个工作表都会独立作为一个sheet存在输出文件中。
阅读全文