使用“for”循环使用不同的值填充列中的不同单元格

2024-09-27 21:33:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用excel spreadhseet中的不同值填充第一行中的前9个单元格。代码按预期填充前9个单元格,但不是用“j”变量字符串值填充每个单元格-“a”、“b”、“c”、“d”、“e”,而是用最后一个值“e”填充所有9个单元格。如何使代码遍历“j”中指定的字符串,并用每个字符串字母填充电子表格中的单元格

Python版本3.6, IDE:Pycharm

代码如下:

import xlsxwriter
workbook = xlsxwriter.Workbook("test.xlsx")
worksheet = workbook.add_worksheet()
for h in range(0, 9): #Cell position generator
    u = 1
    cell_position = (u + h)
    g = "A"
    f = str(cell_position)
    iterated_cell_position = [g+f]#puts cell positions in a list
    j = "abcde"
    for p in iterated_cell_position:
        for e in j:
            worksheet.write(p, e)
workbook.close()

请帮我做这个? 多谢各位


Tags: 字符串代码infor字母positioncellexcel
1条回答
网友
1楼 · 发布于 2024-09-27 21:33:44

您的iterated_cell_position是一个由一个元素组成的数组,并且

for e in j:
   worksheet.write(p, e)

只需将每个字母写入同一单元格。所以你把a写进单元格,然后把b写进单元格,然后把c写进单元格,依此类推。试一试

import xlsxwriter
workbook = xlsxwriter.Workbook("test.xlsx")
worksheet = workbook.add_worksheet()
j = "abcde"
for h in range(0, 9): #Cell position generator
    e = j[h % 5] # gets the correct letter in j (wraps around when h gets too large)
    cell_position = "A{}".format(h + 1)
    worksheet.write(cell_position, e) 
workbook.close()

相关问题 更多 >

    热门问题