用Python编写一个可以实现根据某一列名称来拆分Excel表格,拆分的表格都保留第一和第二行标题,然后把拆分excel文件保存在一个新建文件夹里面
时间: 2024-02-13 08:02:02 浏览: 26
可以使用Python中的`pandas`库来实现这个功能。下面是一个实现的示例代码:
```python
import os
import pandas as pd
# 定义要读取的Excel文件名和工作表名
filename = 'example.xlsx'
sheetname = 'Sheet1'
# 定义要拆分的列名
column_name = 'Category'
# 读取Excel文件
df = pd.read_excel(filename, sheet_name=sheetname)
# 按照列名拆分成多个DataFrame
dfs = {name: group for name, group in df.groupby(column_name)}
# 创建新的文件夹用于保存拆分出来的Excel文件
os.makedirs('output', exist_ok=True)
# 保存每个拆分出来的Excel文件
for name, group in dfs.items():
output_filename = os.path.join('output', f'{name}.xlsx')
group.to_excel(output_filename, index=False, header=[df.columns.values.tolist(), df.iloc[0].values.tolist()])
```
这段代码中,首先通过`pandas`库读取Excel文件,并使用`groupby()`方法按照指定的列名拆分成多个DataFrame。然后,使用`os`库创建一个新的文件夹`output`用于保存拆分出来的Excel文件,并使用`to_excel()`方法把每个拆分出来的DataFrame保存为一个新的Excel文件。在保存Excel文件时,使用`header`参数保留原Excel文件的第一和第二行标题。