Una alternativa más moderna es xlsxcessive para exportar un archivo Excel 2007+ .xlsx. Aquí hay un ejemplo que hace que la fila del encabezado sea ligeramente más grande y negrita. Realmente no es demasiado difícil, y está documentado bastante bien.
from xlsxcessive.xlsx import Workbook, save
#Create some fake test data
import urllib, random
words = [x.strip().title() for x in urllib.urlopen('http://dictionary-thesaurus.com/wordlists/Nouns%285,449%29.txt').readlines()]
names = []
for i in range(25):
address = '%s %s %s' % (random.randint(0, 100000), random.choice(words), random.choice(['Ave', 'St', 'Blvd', 'Ct', 'Ln']))
names.append((random.choice(words), random.choice(words), address))
#Create the workbook and sheet
wb = Workbook()
s1 = wb.new_sheet('Sheet 1')
#Create the bold style for the header row
headerfmt = wb.stylesheet.new_format()
headerfmt.font(size=14, bold=True)
#Write out the header row
header = ['Infant Name','Mother Name','Mother Address',]
for col, label in enumerate(header):
s1.cell(coords=(0,col), value=label, format=headerfmt)
#Write out the data
for rownumber, rowvalues in enumerate(names, start=1):
for col, value in enumerate(rowvalues):
s1.cell(coords=(rownumber, col), value=value)
save(wb, 'stackoverflow_problem.xlsx')
¿Qué le hace pensar que es posible proporcionar decoración además de datos en un archivo CSV? ¿Dónde has visto esto hecho? –