1、读取存贷款数据.xlsx的全部Sheet表;2、每张Sheet表的N列第三行开始,将对应的Sheet表名写入到每行单元格,不含最后一行;3、按照原来的Sheet表保存到新表
时间: 2024-03-26 20:36:57 浏览: 51
好的,根据您的新要求,我稍作修改:
```python
import openpyxl
# 读取存贷款数据.xlsx的全部Sheet表
workbook = openpyxl.load_workbook('存贷款数据.xlsx')
sheet_names = workbook.sheetnames
# 遍历每个Sheet表,并将Sheet表名写入到每行N列的单元格
for sheet_name in sheet_names:
sheet = workbook[sheet_name]
max_row = sheet.max_row
max_column = sheet.max_column
# 创建新的工作簿并选中当前Sheet表的工作表
new_workbook = openpyxl.Workbook()
new_sheet = new_workbook.active
for row in range(3, max_row):
for column in range(1, max_column + 1):
if column == max_column:
new_sheet.cell(row=row-2, column=column).value = sheet_name
else:
new_sheet.cell(row=row-2, column=column).value = sheet.cell(row=row, column=column).value
# 保存新的工作簿,并以当前Sheet表名命名
new_workbook.save(f'{sheet_name}.xlsx')
```
运行上述代码,会在当前目录下生成多个新的表格文件,每个文件的名称为原来Sheet表的名称。每个新表格文件中包含了对应的Sheet表的数据,并在N列第三行开始到倒数第二行的所有单元格中写入了当前Sheet表的名称。请注意,这里我们使用了f-string来构造文件名,需要使用Python 3.6及以上版本。
阅读全文