在openpyxl中将字符串数组打印到列

时间:2016-05-24 18:41:27

标签: python excel openpyxl

我有一个字符串数组,我正在尝试打印到列。

我有一个循环读取多个excel文件并将其内容打印到一个主excel文件,但我还想将每个文件名的前三个字母(这是一个标识符)打印到一个新列[H列(7)]。这是我的代码:

for f in files:
    wb2 = load_workbook(f)
    ws2 = wb2['Sheet1']
    for row in ws2.rows[1:]:
        ws.append((cell.value for cell in row))
        #ws.cell(row=row,column=7).value = str(f[:3])
        #ws.append((str(f[:3]) for cell in row)) - prints contents on next row
        a = [str(f[:3])]
        print (a)

当我打印a时,数组有正确的信息,但我无法弄清楚如何在我的数据中附加或打印数组。

我尝试过使用不同的格式变体。有些返回错误无法在excel中转​​换字符串。我还尝试直接打印字符串而不将它们分配给数组,如第一个注释掉的部分所示,但它返回错误:unorderable types:tuple()< INT()。第二个注释掉的行将数据附加到下一行而不是列中的下一个单元格。我确信我可以在我的代码中轻松修改它,但我似乎无法弄明白。任何帮助表示赞赏。感谢。

1 个答案:

答案 0 :(得分:0)

您希望使用每行中最后一个单元格的offset方法来创建一个新单元格。