如何将 Python 数组写入单个 Excel 电子表格单元格

时间:2021-07-09 12:14:22

标签: python excel xlsxwriter

我正在尝试使用 Python 将以下数组写入 Excel 电子表格单元格:

array = [ [a1,a2,a3], [a4,a5,a6], [a7,a8,a9], [a10, a11, a12, a13, a14]]

这是我现在使用的代码:

import xlsxwriter

workbook = xlsxwriter.Workbook('arrays.xlsx')
worksheet = workbook.add_worksheet()

array = [['a1', 'a2', 'a3'],
         ['a4', 'a5', 'a6'],
         ['a7', 'a8', 'a9'],
         ['a10', 'a11', 'a12', 'a13', 'a14']]

row = 0

for col, data in enumerate(array):
    worksheet.write_column(row, col, data)

workbook.close() 

这是我得到的输出:

This is the output im getting

我希望它像这样打印:

enter image description here

2 个答案:

答案 0 :(得分:1)

使用 join()set_text_wrap()

https://xlsxwriter.readthedocs.io/workbook.html#workbook-add-format https://xlsxwriter.readthedocs.io/format.html#set_text_wrap

import xlsxwriter

workbook = xlsxwriter.Workbook('arrays.xlsx')
worksheet = workbook.add_worksheet()

cell_format = workbook.add_format()
cell_format.set_text_wrap()
cell_format.set_align('vcenter')

array = [['a1', 'a2', 'a3'],
         ['a4', 'a5', 'a6'],
         ['a7', 'a8', 'a9'],
         ['a10', 'a11', 'a12', 'a13', 'a14']]

row = 0

for col, data in enumerate(array):
    worksheet.write(row, col, '\n'.join(data), cell_format)

workbook.close() 

答案 1 :(得分:0)

我认为您应该使用 "\n" 将它们全部存储在一个单元格中。

试着这样写:

array = ['\n'.join(i) for i in array]