Attualmente sto usando xlwt con abbastanza successo per creare file .xls. Sto anche imparando xlsxwriter per possibili applicazioni future in cui avrò bisogno di alcune delle sue funzionalità.xlsxwriter e xlwt: scrivere una lista di stringhe su una cella
xlwt scrive agevolmente elenchi di stringhe nelle celle.
ad es.
import xlwt
a = ['January\n','February\n','March\n','April\n','May\n','June\n']
book = xlwt.Workbook()
sheet = book.add_sheet('Test')
sheet.write(0,0,a)
book.save('Test.xls')
Aprire il file Test.xls, abilitare Testo a capo, e la cella A1 mostra:
January
February
March
April
May
June
ho cercato di fare qualcosa di simile con xlsxwriter
import xlsxwriter
xbook = xlsxwriter.Workbook('Test.xlsx')
xsheet = xbook.add_worksheet('Test')
xsheet.write(0,0,a)
Qui, ho un messaggio di errore lungo che termina in
...anaconda/lib/python2.7/site-packages/xlsxwriter/worksheet.pyc in write(self, row, col, *args)
416 # We haven't matched a supported type. Try float.
417 try:
--> 418 f = float(token)
419 if not self._isnan(f) and not self._isinf(f):
420 return self.write_number(row, col, f, *args[1:])
TypeError: float() argument must be a string or a number
Ho provato altri metodi di scrittura xlsxwriter e tutti danno errori simili.
Altre ricerche: ho cercato questo sito abbastanza accuratamente. Ho anche passato l'eccellente xlsxwriter PDF e controllato le pagine di Github di xlsxwriter. Finora, non ho trovato nulla che indirizzi questo.
Ancora una volta, xlwt va bene per ora mi aspetto di dover aggiungere grafici e grafici sparkline, nonché per creare file xlsx nel prossimo futuro.
Grazie,
il vecchio nel club
Basta usare ' "" .join (a) 'invece di' a' se 'isinstance (a, list) == True'. –
Questo è esattamente ciò di cui ho bisogno. Non riesco ad accettare la risposta in quanto non esiste una casella di controllo ... – OldGuyInTheClub