#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.