Python - XLSXWriter每列写字符

时间:2016-11-10 09:49:55

标签: python excel xlsxwriter

假设我有以下代码片段和一个包含我的值的ordered_list,那么在我的测试中以这种格式打印出一行内容:

  

[text:u' LT4974',text:u' MRNAMEID',number:14,number:121]

如果我没有将row括在str()方法中,则会出现不同的错误。但是它会导致输出文件每列写入每个字符......这是错误的。我如何以这样的方式正确地编写它,它只会在各自的列中获得以下内容?

COL1 || COL2 || COL3 || COL4

LT4974 || MRNAMEID || 14 || 121

new_workbook = xlsxwriter.Workbook()
sheet = new_workbook.add_worksheet('test')

for row_index, row in enumerate(ordered_list):
    #for col_index, cell_value in enumerate(row):
        sheet.write_row(row_index, 0, str(row))

new_workbook.save('output.xlsx')

1。)如果我尝试取消注释for col_index, cell_value in enumerate(row)并使用str(row)更改str(cell_value),那么每个字符仍会写入,而这次没有获得一些属于文本的值。

2。)如果我尝试直接给出行:sheet.write_row(row_index, 0, row)它会说错误TypeError:Unsupported type <class 'xlrd.sheet.Cell'> in write()

2 个答案:

答案 0 :(得分:2)

你可以添加一个for循环,根据需要将它写入不同的列

new_workbook = xlsxwriter.Workbook()
sheet = new_workbook.add_worksheet('test')

for row_index, row in enumerate(ordered_list):
        for col_index,item in enumerate(row):
            sheet.write_row(row_index, col_index, str(item))

new_workbook.save('output.xlsx')

请知道这一变化是否有助于你

答案 1 :(得分:1)

找到答案,我刚刚对Vivek的建议做了一些修改。它应该是sheet.write(row_index, col_index, str(item))

new_workbook = xlsxwriter.Workbook()
sheet = new_workbook.add_worksheet('test')

for row_index, row in enumerate(ordered_list):
        for col_index,item in enumerate(row):
            sheet.write(row_index, col_index, str(item))

new_workbook.save('output.xlsx')