Как добавить список в Excel, используя python xlsxwriter - PullRequest
2 голосов
/ 12 марта 2020

У меня есть список l1=[['a','20,'30],['b','30','40']. Я хочу, чтобы l1 был вставлен в файл Excel в следующем формате:

a   20   30
b   30   40 

Ответы [ 3 ]

0 голосов
/ 12 марта 2020

Попробуйте это:

import openpyxl
l1 = [['a','20','30'],['b','30','40']]
wb = openpyxl.Workbook()
sheet = wb.active
le_ = len(l1)
for i in l1:
    c1 = sheet.cell(row=1,column=1)
    c1.value = i[0]
    c2 = sheet.cell(row=1,column=2)
    c2.value = ' '.join(each for each in i[1:])
wb.save("demo1.xlsx")

В sheet.cell(row=1,column=1) вы можете указать на указанную c ячейку, используя номер строки и номер столбца, и можете хранить данные в любом формате, который вам нужен

0 голосов
/ 12 марта 2020

Вы можете попробовать:

import pandas as pd
l1 = [['a','20', '30'], ['b','30', '40']]
df = pd.DataFrame({'col1': [l[0] for l in l1],
                   'col2': [l[1:3] for l in l1]})
df.to_excel('output.xlsx')
0 голосов
/ 12 марта 2020

Используя worksheet.write_column() с xlsxwriter

>>> import xlsxwriter
>>> a = [['a','20','30'],['b','30','40']]
>>> cl1 = [i[0] for i in a]                 # ['a', 'b']
>>> cl2 = [','.join(i[1:]) for i in a]      # ['20,30', '30,40']

>>> wbook = xlsxwriter.Workbook('Test.xlsx')
>>> wsheet = wbook.add_worksheet('Test')

>>> wsheet.write_column(0,0, cl1)
>>> wsheet.write_column(0,1, cl2)
>>> wbook.close()

Или

Вы можете использовать pandas pandas.DataFrame.to_excel

>>> import pandas as pd
>>> df = pd.DataFrame.from_dict({'Column1':cl1,'Column2':cl2})
>>> df
  Column1 Column2
0       a   20,30
1       b   30,40

>>> df.to_excel('a_name.xlsx', header=True, index=False)
...