python将新建df按两列分组后,分组的两个列名分别为表名和sheet名,如果原始excel表名和分组表名相同,批量写入原始excel中倒数第2个新SHEET
时间: 2023-06-12 18:02:09 浏览: 95
您好,感谢您使用 ChitGPT 进行对话!对于您的问题,我可以提供以下代码解决方案,可以满足您的需求:
```python
import pandas as pd
# 读取原始excel
df_orig = pd.read_excel("your_excel_file.xlsx")
# 按照表名和sheet名进行分组
groups = df_orig.groupby(['表名', 'sheet名'])
# 获取分组后的表名和sheet名
table_names, sheet_names = zip(*groups.groups.keys())
# 将分组数据写入原始excel中倒数第2个新SHEET
with pd.ExcelWriter("your_excel_file.xlsx", mode='a') as writer:
for i in range(len(table_names)):
# 只将表名和sheet名相同的数据写入到excel中
if table_names[i] == sheet_names[i]:
# 获取分组数据
group_data = groups.get_group((table_names[i], sheet_names[i]))
# 写入数据到excel中
group_data.to_excel(writer, sheet_name=f"{table_names[i]}(2)", index=False)
# 关闭文件流
writer.close()
```
希望以上代码片段能够帮助到您,如有任何疑问,请随时追问。
阅读全文