用pandas为文件夹内所有EXCEL文件批量添加相同的表头
时间: 2024-10-08 08:11:06 浏览: 26
在Python中,你可以使用Pandas库配合os模块来批量处理Excel文件并添加相同的表头。以下是步骤:
首先,你需要安装`pandas`和`openpyxl`(用于读写Excel文件),如果还没有安装,可以使用以下命令安装:
```bash
pip install pandas openpyxl
```
然后,你可以编写一个函数,例如:
```python
import os
import pandas as pd
def add_common_header_to_excel(folder_path, header_list):
# 创建表头数据框
common_header_df = pd.DataFrame(header_list, columns=header_list)
# 遍历文件夹内的所有Excel文件
for filename in os.listdir(folder_path):
if filename.endswith('.xlsx') or filename.endswith('.xls'):
filepath = os.path.join(folder_path, filename)
# 加载Excel文件,如果不存在就创建一个新的ExcelWriter
try:
with pd.ExcelWriter(filepath) as writer:
# 尝试读取原有数据,如果没有则直接写入表头
df = pd.read_excel(filepath, engine='openpyxl', index_col=None, header=None)
if df.empty:
common_header_df.to_excel(writer, sheet_name=os.path.splitext(filename)[0])
else:
# 如果有数据,则追加表头到已有数据的顶部
df.insert(0, 'Header', common_header_df.values.tolist())
df.to_excel(writer, sheet_name=os.path.splitext(filename)[0], index=False)
except FileNotFoundError:
print(f"文件 {filepath} 不存在,正在创建...")
common_header_df.to_excel(filepath, index=False, header=True)
# 调用函数,传入文件夹路径和你要添加的表头列表
add_common_header_to_excel('your_folder_path', ['Column1', 'Column2', 'Column3'])
阅读全文