组合两个列表以制作 Xlsxwriter 行

问题描述

给定两个字符串列表(年和季度),像这样创建一个 excel 行:

"2001 q1","2001 q2",...,"2008 q3","2008 q4"

这是我目前的代码

import xlsxwriter
from xlsxwriter import workbook

workbook = xlsxwriter.Workbook('template.xlsx')
worksheet_data = workbook.add_worksheet( "data" )

year = ["2001 ","2002 ","2003 ","2004 ","2005 ","2006 ","2007 ","2008 "]
quarter = ['q1 ','q2 ','q3 ','q4 ']

for x in year:
    for y in quarter:
        worksheet_data.write_row(
          "A1",#start cell
          [x + y]
        )

workbook.close()

我需要这个用于客户定制的表格。

有什么想法吗?

解决方法

希望对您有所帮助:

import xlsxwriter
from xlsxwriter import Workbook

workbook = xlsxwriter.Workbook('template.xlsx')
worksheet_data = workbook.add_worksheet("data")
data = []

year = ["2001 ","2002 ","2003 ","2004 ","2005 ","2006 ","2007 ","2008 "]
quarter = ['q1 ','q2 ','q3 ','q4 ']

for x in year:
    for y in quarter:
        data.append(x + y)
worksheet_data.write_row(0,data)
workbook.close()

write_row(0,data) 是零索引的,所以这是 A1。

,

假设您想将 str(x+y) 写入“A1”,您可能需要像这样格式化您的请求:

write_row(1,1,str(x+y))

参考:https://xlsxwriter.readthedocs.io/worksheet.html

风格方面,我也推荐:

  • 不要将空格放在 yearquarter 数组中,而是在使用这些值时添加它们,例如:combined = str(x + " " + y)
  • 遍历一个范围而不是手动创建的(连续 + 数字)年份列表:range(2001,2008+1)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...