У меня есть список лиц, каждый человек представлен массивом строк:

person1=["amy","fisher",34,"teacher"]
person2=["john","wayne",45,"astronaut"]

Я хочу сохранить список людей в таблице Excel и иметь в качестве заголовка:

name family_name   age  profession
amy  fisher        34   teacher
0
hamma 24 Апр 2017 в 14:56

2 ответа

Лучший ответ
import pandas as pd
person1=["amy","fisher",34,"teacher"]
person2=["john","wayne",45,"astronaut"]
#construct a pandas dataframe
df = pd.DataFrame(columns=['name','family_name','age','profession'], data=[person1,person2])
#write it to an excel file
df.to_excel('output.xls',index=False)
1
Allen 24 Апр 2017 в 12:26

Это можно сделать с помощью библиотеки xlwt, которую можно установить с помощью pip install xlwt.

import xlwt

headers = ['name', 'family_name', 'age', 'profession']
persons = [["amy", "fisher", 34, "teacher"],
           ["john", "wayne", 45, "astronaut"]]

# font style
style0 = xlwt.easyxf('font: name Times New Roman, color-index black, bold on')

wb = xlwt.Workbook()
ws = wb.add_sheet('A Test Sheet')

# write headers
for index, value in enumerate(headers):
    ws.write(0, index, value, style0)

# write data
for row, person in enumerate(persons):
    for index, value in enumerate(person):
        ws.write(row+1, index, value)       

wb.save('persons.xls')

Это создаст файл Excel, который вы хотите.

0
Leonardo Chirivì 24 Апр 2017 в 12:24