用Python写一个将多份excel数据合并为一份的功能,要求:1、源文件路径需自定义,2、合并后文件路径自定义,3、若源文件中只有表头没有数据,则跳过,4、表头不用合并
时间: 2024-05-08 18:16:12 浏览: 16
以下是一个Python程序,可以将多个Excel文件中的数据合并为一个Excel文件。该程序使用pandas库来读取和合并Excel文件。
```
import os
import pandas as pd
# 源文件夹路径
source_folder = 'path/to/source/folder'
# 合并后文件路径
merged_file_path = 'path/to/merged/file.xlsx'
# 创建一个空的DataFrame,用于存储所有数据
merged_data = pd.DataFrame()
# 循环遍历源文件夹中的所有Excel文件
for filename in os.listdir(source_folder):
if filename.endswith('.xlsx'):
file_path = os.path.join(source_folder, filename)
print(f'Reading {file_path}')
# 读取Excel文件
data = pd.read_excel(file_path)
# 如果该文件只有表头而没有数据,则跳过
if len(data) <= 0:
print(f'{file_path} has no data, skipping')
continue
# 将文件的数据合并到merged_data中
merged_data = pd.concat([merged_data, data], ignore_index=True)
# 将合并后的数据保存到Excel文件中
merged_data.to_excel(merged_file_path, index=False)
print(f'Merged data saved to {merged_file_path}')
```
在上述代码中,您需要自己定义源文件夹路径和合并后文件路径。程序首先创建一个空的DataFrame,用于存储所有数据。然后,程序循环遍历源文件夹中的所有Excel文件,并使用pandas读取每个文件中的数据。如果该文件只有表头而没有数据,则跳过。否则,程序将该文件的数据合并到merged_data中。最后,程序将合并后的数据保存到Excel文件中。