python读取excel文件中每个工作簿,按列合并至新的文件
时间: 2024-10-08 18:10:27 浏览: 45
Python将多个excel文件合并为一个文件
要使用Python读取Excel文件中的每个工作簿并按列合并到新的文件,你可以使用`pandas`库。下面是一个简单的示例代码,说明如何实现这个任务:
首先,确保你已经安装了pandas库。如果没有,可以使用以下命令安装:
```bash
pip install pandas
```
然后,你可以使用以下Python代码来实现你的需求:
```python
import pandas as pd
import os
# 目标文件夹路径
output_folder = 'path_to_output_folder'
# 遍历Excel文件中的所有工作簿
for filename in os.listdir('path_to_excel_files'):
if filename.endswith('.xlsx') or filename.endswith('.xls'):
file_path = os.path.join('path_to_excel_files', filename)
df = pd.read_excel(file_path, sheet_name=None) # 读取所有工作表为DataFrame对象
# 遍历DataFrame中的所有列,将每列的值写入新的Excel文件
for col in df.columns:
# 将DataFrame按照当前列的值分组,并将每个组的值写入新的Excel文件的一行中
grouped = df.groupby(by=[col]).agg('sum') # 按列求和
output_file = os.path.join(output_folder, f'output_{filename}_{col}.xlsx') # 输出文件的路径和名称
grouped.to_excel(output_file, index=False) # 将分组后的DataFrame写入新的Excel文件
```
这段代码首先遍历指定文件夹中的所有Excel文件,然后读取每个工作簿的所有工作表(假设每个工作簿有多个工作表)。接着,它遍历DataFrame中的所有列,并将每列的值按列求和。最后,它将每个分组后的值写入一个新的Excel文件中。
请注意,这段代码假设你的Excel文件中的每个工作簿都有相同数量的列。如果实际情况不同,你可能需要修改代码以适应你的特定需求。此外,确保将`path_to_output_folder`和`path_to_excel_files`替换为实际的输出文件夹路径和Excel文件路径。
阅读全文