python 將一個路徑中多個格式的excel合并爲一個,注意有的excel中只有一列數據的,就不要合并還要注意有的表中列名是帶有超鏈接,所以合并時不要合并列明
时间: 2023-08-27 17:47:39 浏览: 143
您可以使用Python中的pandas库来实现将多个格式的Excel文件合并为一个文件。以下是一个示例代码:
```python
import pandas as pd
import os
# 设置要合并的文件夹路径
folder_path = '/path/to/excel/files'
# 获取文件夹中的所有Excel文件
all_files = [file for file in os.listdir(folder_path) if file.endswith('.xlsx') or file.endswith('.xls')]
# 创建一个空的DataFrame来存储合并后的数据
merged_data = pd.DataFrame()
# 遍历每个Excel文件并合并数据
for file in all_files:
file_path = os.path.join(folder_path, file)
# 读取Excel文件的第一个Sheet,跳过表头行,不合并列名
df = pd.read_excel(file_path, skiprows=1)
# 如果Excel文件中只有一列数据,则跳过合并
if df.shape[1] == 1:
continue
merged_data = merged_data.append(df, ignore_index=True)
# 将合并后的数据保存到新的Excel文件中
merged_file_path = '/path/to/save/merged_file.xlsx'
merged_data.to_excel(merged_file_path, index=False)
print("合并完成!")
```
您需要将`/path/to/excel/files`替换为实际的Excel文件夹路径,将`/path/to/save/merged_file.xlsx`替换为您希望保存合并后文件的路径和名称。
这段代码会遍历指定文件夹中的所有Excel文件,将每个文件中的内容合并到一个DataFrame中。在读取每个文件时,通过设置`skiprows=1`来跳过第一行,即表头行,从而不合并列名。如果某个Excel文件只有一列数据,会被跳过不进行合并。
注意:在运行代码之前,请确保已经安装了pandas库。可以使用`pip install pandas`命令进行安装。
阅读全文