这是我的代码:
import os
import sys
my_path = 'C:/Users/S.Fazlollahzadeh/Desktop/shell-scripts/test only/excel'
os.chdir(my_path)
sys.path.append(my_path)
from openpyxl import Workbook
names = ['name1', 'name2', 'name3', 'name4']
wb = Workbook()
ws = wb.active
for name in names:
ws.title = name
wb.create_sheet(name)
wb.save("sample.xlsx")
quit()
工作表名称为:
name4
name11
name21
name31
name41
虽然应该是:
name1
name2
name3
name4
我究竟做错了什么?
问题是您将活动工作表重命名为您的名字之一,然后尝试创建具有相同名称的工作表 (
wb.create_sheet(name)
),而是生成一个工作表{name}1
。您也没有切换活动工作表您可以删除该行
ws.title = name
并从工作簿中删除原始活动工作表(如果脚本中有更多工作,请切换到其他工作表)问题是您正在使用已存在的名称创建工作表。
创建工作表的正确方法是以下之一:
或者: