是多个相同命名的分页中都有需要追加的内容
时间: 2024-09-09 15:15:46 浏览: 41
如果你的Excel文件中有多个相同命名的分页(比如每个分页都代表一个时段或者类别),并且这些分页都需要追加内容,你可以稍微调整上述的代码,让它能够遍历源文件中每一个相同的分页,然后逐个追加到目标文件的对应分页上。这里是一种可能的实现方式:
```python
import os
import pandas as pd
# 获取源文件的所有sheet名称
source_sheets = {os.path.splitext(filename)[0]: sheet_name
for filename in os.listdir('source_folder') if filename.endswith('.xlsx')}
# 初始化一个字典来保存每一页的目标数据
target_pages = {}
# 对于每个源文件的分页
for source_filename, sheet_name in source_sheets.items():
# 加载源文件的当前分页
source_page = pd.read_excel(f'source_folder/{source_filename}.xlsx', sheet_name=sheet_name)
# 加载目标文件的对应分页,或者创建一个新的空 DataFrame
if sheet_name in target_pages:
target_page = target_pages[sheet_name]
else:
target_page = pd.DataFrame(columns=source_page.columns) # 或者根据实际需要设置初始列名和数据
# 追加源数据到目标数据
target_page = target_page.append(source_page, ignore_index=True)
# 将结果存储到字典中
target_pages[sheet_name] = target_page
# 写入目标文件,替换所有对应的分页
for sheet_name, page_data in target_pages.items():
target_df = pd.read_excel('target.xlsx', sheet_name='Sheet1', engine='openpyxl')
target_df[sheet_name] = page_data
target_df.to_excel('target.xlsx', sheet_name=sheet_name, index=False, startrow=len(target_df)) # 确保追加在最后一行
```
这个版本的代码会处理多个同名分页的情况,将每个分页的数据追加到目标文件的不同分页中。注意,你需要将 `'source_folder'` 和 `['Sheet1']` 替换为你实际的文件路径和分页名称。
阅读全文