如果sheet1的名称为2024年04月24日、sheet2的名称为2024年04月29日这种的如何合并
时间: 2024-10-22 15:04:12 浏览: 10
如果你想要合并那些按照日期命名的工作表,比如`sheet1`为`2024年04月24日`、`sheet2`为`2024年04月29日`,你可以稍微调整上面的代码。首先,我们需要获取到这样的工作表列表,并且将日期作为合并的关键依据。下面是修改后的步骤:
1. **获取日期格式的工作表列表**:
使用正则表达式匹配日期格式的字符串,例如:
```python
import re
date_pattern = r'\d{4}年\d{1,2}月\d{1,2}日'
sheet_names = [sheet_name for sheet_name in os.listdir(file_path) if os.path.isfile(f"{file_path}/{sheet_name}") and re.match(date_pattern, sheet_name)]
```
这里假设所有的日期格式工作表都在同一个目录下。
2. **合并日期对应的工作表**:
然后,针对每一个日期对应的workbook,单独读取并合并数据:
```python
merged_data = {}
for sheet_date in set(sheet_names):
dfs = []
for name in sheet_names:
if re.match(sheet_date, name):
dfs.append(pd.read_excel(file_path, sheet_name=name))
merged_data[sheet_date] = pd.concat(dfs, ignore_index=True)
# 选择要合并的数据
final_merged_df = merged_data["2024年04月24日"] # 更改为你需要的日期
for other_date, data in merged_data.items():
if other_date != "2024年04月24日":
final_merged_df = final_merged_df.append(data, ignore_index=True)
```
3. **保存最终数据**:
最后,保存合并后的数据到新的工作表中:
```python
final_merged_df.to_excel("merged_data.xlsx", index=False)
```
阅读全文