如何解决复制所有工作表中的数据,python xlsxwriter
我想用输入函数创建表格和多张工作表,但它只将数据放在最后一张工作表中。如何将数据放入每个工作表中,除了第一个称为“描述”工作表。
import xlsxwriter
from xlsxwriter import workbook
workbook = xlsxwriter.Workbook('test.xlsx')
worksheet_description = workbook.add_worksheet( "description" )
sheetnames = input("Enter (sheets) names: ").split(",")
for i in sheetnames:
worksheet_data = workbook.add_worksheet(i)
worksheet_data.write('A1','Number of table rows')
data = []
year = input("Enter years: ").split(",")
q = ['q1 ','q2 ','q3 ','q4 ']
for x in year:
for y in q:
data.append(x + y)
worksheet_data.write_row(0,1,data)
col = input("Numerate columns (enter value): ").split(",")
for i in col:
worksheet_data.write_column(1,col)
workbook.close()
为什么它不打印所有 worksheet_data
中的输入数据?
解决方法
如果你想在每个工作表上书写,你应该让程序在指定的工作表上工作。在您的代码中,for
循环已经完成,因此程序仅在活动的最后一张纸上打印您的数据。
这是我的脚本,用于在除描述之外的每张纸中打印它。
import xlsxwriter
from xlsxwriter import workbook
workbook = xlsxwriter.Workbook('test.xlsx')
worksheet_description = workbook.add_worksheet( "description" )
sheetnames = input("Enter (sheets) names: ").split(",")
year = input("Enter years: ").split(",")
col = input("Numerate columns (enter value): ").split(",")
for i in sheetnames: # Loop for each sheet
worksheet_data = workbook.add_worksheet(i)
worksheet_data.write('A1','Number of table rows')
data = []
q = ['q1 ','q2 ','q3 ','q4 ']
for x in year:
for y in q:
data.append(x + y)
worksheet_data.write_row(0,1,data)
for i in col:
worksheet_data.write_column(1,col)
workbook.close()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。