使用pandas库处理Excel工作簿,要将一个Excel工作表按照指定列拆分到多个新的工作簿中
时间: 2024-10-18 12:14:02 浏览: 24
在Pandas中处理Excel工作簿并按指定列拆分到多个新的Excel工作簿中,你需要先加载数据,然后利用`to_excel`函数针对每个指定列创建单独的新工作簿。这里是一个例子:
```python
import pandas as pd
from glob import glob
# 加载Excel文件
data = pd.read_excel('input.xlsx')
# 指定需要拆分的列名
columns_to_split = ['Column1', 'Column2']
# 创建一个空的字典来存储结果
workbooks = {}
# 遍历指定的列
for column in columns_to_split:
# 获取当前列的所有唯一值
unique_values = data[column].unique()
# 对于每个独特值创建一个新工作簿
for value in unique_values:
# 创建新的DataFrame只包含该列等于指定值的行
df_sub = data[data[column] == value]
# 将DataFrame保存到新的工作簿,工作簿名称为当前值
workbook_name = f'{column}_{value}.xlsx'
df_sub.to_excel(workbook_name, index=False)
# 现在workbooks字典包含了所有新的工作簿路径
print("New workbooks saved at:", {key: glob(f'*_{value}*.xlsx') for key, value in workbooks.items()})
```
这将把每个指定列的独特值作为一个新的工作簿,其中仅包含该值对应的行。
阅读全文