当前位置: 首页 > 知识库问答 >
问题:

xlsxwriter:根据用户输入和循环创建标题

穆招
2023-03-14

我试图创建一个脚本,需要html" target="_blank">用户输入并输出一个excel文件,用户输入作为列标题。因此,如果用户输入:Col1,Col2,Col3...输出应该是一个excel文件,每个名称有3列,分别为:Col1,Col2,Col3。

代码:

import xlsxwriter
from itertools import islice
column_names = input()
template_name = input()

  # add file type to template name
file_type = '.xlsx'
template_name = template_name + file_type

  # create a list of the input names
column_names = column_names.split(",")

  # xlsxwriter column position logic based on user input length
alpha = list(map(chr, range(65, 91)))

z =[]

for letter in  alpha:
    z.append(letter + str(1))

t =[]

for i in islice( z, 0, len(column_names) ):
    t.append(i)

  # Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook(template_name )
worksheet = workbook.add_worksheet()

  # Add a bold format to use to highlight cells.
bold = workbook.add_format({'bold': True})

  # Write some data headers.
for name in column_names:
    for i in t:
        worksheet.write(i,name,bold)      

假设我使用输入:Col1、Col2、Col3、Col4、Col5运行脚本,脚本的当前输出为:Col5 Col5 Col5 Col5 Col5 Col5
当前输出

我正在寻找的结果是:Col1 Col2 Col3 Col4 Col5

预期产量

有人知道现在的剧本有什么问题吗?为什么创建的excel文件有5列都命名为Col5,而不是Col1 Col2 Col3 Col4 Col5谢谢!

共有1个答案

从光启
2023-03-14

请在结尾处尝试压缩:

# Write some data headers.
for i, name in zip(t, column_names):
    worksheet.write(i,name,bold)
 类似资料:
  • 我正在设置一个,它在用户输入整数之前一直执行。但是,按照我现在的方式,循环在输入整数后再次打印消息,然后程序正常执行。有人能建议一种方法来使输入整数后不再打印该消息吗?谢了!

  • 首先,感谢你阅读我的帖子并帮助我。 我试图编程,我定义了一个随机数,程序猜测这个随机数,然后,根据我说猜测太高或太低,程序再次猜测。 再次感谢!

  • 需要一些专家的建议。首先,这里是我的代码: 我的问题是:当我输入一个用户号码如“3”时,提示我的代码只打印一个__当我希望它打印指定的号码。我无论如何也想不出来。 我是英语专业的,所以这不是我的强项:(形状应该是菱形的。)

  • 本文向大家介绍python 使用xlsxwriter循环向excel中插入数据和图片的操作,包括了python 使用xlsxwriter循环向excel中插入数据和图片的操作的使用技巧和注意事项,需要的朋友参考一下 写入Excel中后有显示第一列客户款号总库存这些,开始写在第12行第一列开始写入,一行写入5个,然后再隔12行,再写入下边的数据,图片需要对应客户款号在Excel写入图片,类似下面的格

  • 我试图通过使用Kryonet进行通信来创建一个基本的IRC。我遇到的问题是,在我的代码中,我不能安全地使用允许用户键入和发送消息的main while循环,因为Scanner给出了一个错误,并且似乎跳过了对nextLine()的调用。我想做的是让扫描仪在继续之前等待用户输入。 更准确地说,程序将首先在行的开头放一个“:”,然后在用户按enter键后获取用户键入的任何内容,然后将其发送到服务器。我得

  • 我试图在PlayerOne类中放入一个while循环,这样就可以通过用户输入来选择玩家的职业。我不知道怎么让它起作用。你能给我一个建议或提示吗?谢谢!(我想你不需要玩家类或者主类,所以我就让他们置身事外)