首页 > 解决方案 > 将列表列表导出为 Excel 中的列和行的标签

问题描述

我目前有一项任务,我需要将两个列表列表从 Python 导出到 Excel 中,作为数组的列和行的标签。我尝试了使用xlsxwriter包的各种方法(特别是write_rowandwrite_column函数),但到目前为止,我只能将“小”列表(包含在大列表中的那个)的每个元素导出到 Excel 中的各个列中(这不是我想要的。我希望将每个小列表放入 Excel 中的一个单独的单元格中)。一个例子如下:

来自 Python 的输入

list1 = [['a', 'a', 81, 81, 0, 0], ['b', 'b', 54, 54, 10, 10]]
list2 = [['b', 'c' , 50, 46, 0, 2, 0],['a', 'b', 21, 18, 10, 15]]
名称 = [[0,1], [0,0]]

在 Excel 中输出

在此处输入图像描述

有人可以帮我解决这个问题吗?任何帮助将不胜感激。

标签: pythonpython-3.xexcelexport-to-excelxlsxwriter

解决方案


您可以使用 openpyxl 创建工作表。

from openpyxl import Workbook

wb = Workbook()
ws = wb.active

list1 = [['a', 'a', 81, 81, 0, 0], ['b', 'b', 54, 54, 10, 10]]
list2 = [['b', 'c', 50, 46, 0, 2, 0],['a', 'b', 21, 18, 10, 15]]
name = [[0,1], [0,0]]

for x in range(len(list1)):  # edges
   ws.cell(1,2+x).value  = str(list1[x])
   ws.cell(2+x,1).value  = str(list2[x])

for r in range(len(name)):  # center box
   for c in range(len(name[r])):
       ws.cell(2+r, 2+c).value = name[r][c]

wb.save('out.xlsx')

推荐阅读