python 将列名不同的两个excel合并
时间: 2023-08-04 22:11:54 浏览: 223
你可以使用 Pandas 库来合并两个列名不同的 Excel 文件。以下是一个示例代码,可以将两个 Excel 文件合并为一个新的 Excel 文件:
```python
import pandas as pd
# 读取第一个 Excel 文件
df1 = pd.read_excel('file1.xlsx')
# 读取第二个 Excel 文件
df2 = pd.read_excel('file2.xlsx')
# 合并两个 DataFrame,忽略列名不同的列
merged_df = pd.concat([df1, df2], ignore_index=True, sort=False)
# 将合并后的 DataFrame 保存为新的 Excel 文件
merged_df.to_excel('merged_file.xlsx', index=False)
```
在上面的代码中,我们首先使用 `pd.read_excel()` 方法读取两个 Excel 文件,然后使用 `pd.concat()` 方法将它们合并为一个 DataFrame。`ignore_index=True` 参数表示忽略原始 DataFrame 的索引,`sort=False` 参数表示不对行进行排序。最后,我们使用 `to_excel()` 方法将合并后的 DataFrame 保存为新的 Excel 文件。
相关问题
python pandas 将多个不同列名的df合并,并且写入一个excel里面
你好,可以使用pandas中的concat函数将多个不同列名的DataFrame合并,再使用pandas中的ExcelWriter将其写入Excel文件中。具体操作步骤如下:
1. 导入所需模块
```
import pandas as pd
from pandas import ExcelWriter
```
2. 创建多个不同列名的DataFrame
```
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]})
df3 = pd.DataFrame({'E': [13, 14, 15], 'F': [16, 17, 18]})
```
3. 使用concat函数将多个DataFrame合并
```
result = pd.concat([df1, df2, df3], axis=1, sort=False)
```
其中,axis=1表示按列合并,sort=False表示不按列名排序。
4. 使用ExcelWriter将结果写入Excel文件
```
with ExcelWriter('output.xlsx') as writer:
result.to_excel(writer, sheet_name='Sheet1', index=False)
```
其中,'output.xlsx'是要写入的Excel文件名,sheet_name是要写入的工作表名,index=False表示不将行索引写入Excel文件中。
这样就可以将多个不同列名的DataFrame合并,并将结果写入Excel文件中了。
写一个通过相同的列名合并多个Excel数据的代码
好的,可以的。以下是 Python 代码示例:
```python
import pandas as pd
# 定义要合并的 Excel 文件
excel_files = ['file1.xlsx', 'file2.xlsx', 'file3.xlsx']
# 定义要合并的列名
merge_on_column = 'name'
# 定义空的 DataFrame 对象,用于存储合并后的数据
merged_data = pd.DataFrame()
# 循环读取每个 Excel 文件并合并到 merged_data 中
for file in excel_files:
data = pd.read_excel(file)
merged_data = pd.concat([merged_data, data])
# 根据相同的列名进行合并
merged_data = merged_data.groupby(merge_on_column).agg('sum').reset_index()
# 输出合并后的数据
print(merged_data)
```
以上代码将会读取定义的三个 Excel 文件,根据相同的列名对它们进行合并,并输出合并后的数据。
阅读全文