我想用python合并几个excel表,要求是在每个excel文件内,选取行索引,以及指定名字的列,加入新的excel表中,请用代码实现。
时间: 2023-08-21 08:07:36 浏览: 75
可以使用Python中的pandas库来实现这个需求。以下是一个示例代码,假设要合并的几个excel文件都在同一个文件夹内,且每个excel文件都有一个名为“Sheet1”的工作表。
```python
import os
import pandas as pd
# 指定行索引和需要合并的列名
index_col = "ID"
merge_col = "Name"
# 获取文件夹中的所有excel文件
excel_files = [f for f in os.listdir(".") if f.endswith(".xlsx")]
# 创建一个空的DataFrame来保存合并后的结果
merged_df = pd.DataFrame()
# 循环读取每个excel文件,并将指定的行索引和列加入到merged_df中
for file in excel_files:
df = pd.read_excel(file, sheet_name="Sheet1", index_col=index_col)
merged_df[os.path.splitext(file)[0]] = df[merge_col]
# 将merged_df保存到新的excel文件中
merged_df.to_excel("merged.xlsx", index_label=index_col)
```
以上代码将从当前目录中读取所有以“.xlsx”结尾的excel文件,将每个文件中名为“Sheet1”的工作表中的指定列(这里是“Name”列)加入到一个新的DataFrame中,其中行索引为指定的索引列(这里是“ID”列),最后将该DataFrame保存到一个名为“merged.xlsx”的新excel文件中。
阅读全文