python - 复制所有工作表中的数据,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, 0, 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, 0, col)
workbook.close()
推荐阅读
- csv - BigQ 将日期从 DD/MM 更改为 MM/DD 少于 12 天
- php - 如何将 PHP 逗号分隔的字符串集成到 SQL 查询中?
- android - 如何使用工作室设置环境变量以在android中激活uiautomatorviewer
- javascript - dom元素上的滚动冲突
- sql - 创建递归查询
- ngxs - NGXS - 如何在多个流上使用一个动作处理程序
- python - Numpy corrcoef 错误
- scala - 在SPARK中操作RDD,每3行合并为一行
- docker - 在 Docker 中以 headful 模式执行 puppeteer 的问题
- c++ - 用一些用户输入向量增加向量的索引向量[x]++