Экспорт списка списка в виде меток столбцов и строк в Excel

#python #python-3.x #excel #export-to-excel #xlsxwriter

#python #python-3.x #excel #экспорт в Excel #xlsxwriter

Вопрос:

В настоящее время у меня есть задача, в которой мне нужно экспортировать из Python в Excel два списка списков в виде меток столбцов и строк массива. Я пробовал различные методы с xlsxwriter пакетом (в частности, функции write_row and write_column ), но пока я мог экспортировать только каждый элемент «маленького» списка (тот, который содержится в большом списке) в отдельные столбцы в Excel (чего я не хочу. Я хочу, чтобы каждый небольшой список помещался в одну отдельную ячейку в Excel). Пример следующий:

Ввод из Python

list1 = [[‘a’, ‘a’, 81, 81, 0, 0], [‘ b’, ‘b’, 54, 54, 10, 10]]
список 2 = [[‘b’, ‘c’, 50, 46, 0, 2, 0],[‘a’, ‘b’, 21, 18, 10, 15]]
имя = [[0,1], [0,0]]

Вывод в Excel

введите описание изображения здесь

Может кто-нибудь, пожалуйста, помочь мне с этой проблемой? Любая помощь будет принята с благодарностью.

Ответ №1:

Вы можете использовать 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')
  

Комментарии:

1. Большое вам спасибо за вашу помощь. Я опробовал ваш код, но затем он продолжал выдавать мне эту ошибку из-за неправильного типа данных относительно ws.cell(1, 2 x).value = str(list1[x]) строки: AttributeError: 'int' object has no attribute 'upper'

2. не могли бы вы помочь разобраться, почему ваш приведенный выше код выдал ошибку, которую я описал?

3. Да, я получил эту ошибку, используя ваш точный код. И моя версия Python — 3.5 btw.

4. Я пробовал 3 раза, и он по-прежнему выдавал мне ту же ошибку. Он работал на вашем Python? Если это так, использовали ли вы Python 3.5?

5. Python 3.7.6. Я запустил его из командной строки, используя дистрибутив Anaconda.