运用PYthon实现一下功能:将C:\Users\rhy\Desktop\米罗\图书.xlsx这个Excel文件按照B列不同的出库单号,以C:\Users\rhy\Desktop\米罗\进货模板.xls的样式生成新的报表,(赠送量默认为0,单位默认为本)。将新生成的表格放到C:\Users\rhy\Desktop\米罗\生成文件这个路径下
时间: 2023-05-21 11:03:05 浏览: 151
以下是Python代码实现:
```python
import pandas as pd
import os
# 读取Excel文件
df = pd.read_excel(r'C:\Users\rhy\Desktop\米罗\图书.xlsx')
# 按照B列不同的出库单号分组
groups = df.groupby('B')
# 读取进货模板文件
template = pd.read_excel(r'C:\Users\rhy\Desktop\米罗\进货模板.xls')
# 遍历每个分组,生成新的报表
for name, group in groups:
# 复制进货模板
new_report = template.copy()
# 修改出库单号
new_report.loc[0, '出库单号'] = name
# 修改每本书的信息
for i, row in group.iterrows():
new_report.loc[i+1, '书名'] = row['书名']
new_report.loc[i+1, '作者'] = row['作者']
new_report.loc[i+1, '出版社'] = row['出版社']
new_report.loc[i+1, 'ISBN'] = row['ISBN']
new_report.loc[i+1, '出版日期'] = row['出版日期']
new_report.loc[i+1, '售价'] = row['售价']
new_report.loc[i+1, '库存量'] = row['库存量']
new_report.loc[i+1, '赠送量'] = 0
new_report.loc[i+1, '单位'] = '本'
# 保存新的报表
new_report.to_excel(os.path.join(r'C:\Users\rhy\Desktop\米罗\生成文件', f'{name}.xlsx'), index=False)
```
这段代码会将原Excel文件按照B列不同的出库单号分组,然后根据进货模板生成新的报表,并保存到指定路径下。
阅读全文