Ich verwende derzeit xlwt ziemlich erfolgreich, um .xls-Dateien zu erstellen. Ich lerne auch xlsxwriter für mögliche zukünftige Anwendungen, wo ich einige seiner Funktionen benötigen werde.xlsxwriter und xlwt: Schreiben einer Liste von Zeichenfolgen in eine Zelle
xlwt schreibt reibungslos Listen von Strings in Zellen.
z.B.
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')
Öffnen Sie die Datei Test.xls, aktivieren Wrap Text, und die Zelle A1 zeigt:
January
February
March
April
May
June
Ich habe versucht, etwas Ähnliches mit xlsxwriter
import xlsxwriter
xbook = xlsxwriter.Workbook('Test.xlsx')
xsheet = xbook.add_worksheet('Test')
xsheet.write(0,0,a)
hier zu tun, erhalte ich eine langwierige Fehlermeldung mit dem Ergebnis
...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
Ich habe andere xlsxwriter Schreibmethoden ausprobiert und alle geben grob ähnliche Fehler.
Weitere Forschung: Ich habe diese Website ziemlich gründlich durchsucht. Ich habe auch das ausgezeichnete xlsxwriter PDF durchgesehen und die xlsxwriter Github Seiten überprüft. Bisher bin ich auf nichts gestoßen, was dies angeht.
Noch einmal, xlwt ist jetzt in Ordnung, ich erwarte, dass ich in naher Zukunft Diagramme und Sparklines hinzufügen und xlsx-Dateien erstellen muss.
Danke,
The Old Guy In The Club
Verwenden Sie einfach ' "" .join (a) 'anstelle von' a' wenn 'isinstance (a, list) == True '. –
Das ist genau das, was ich brauche. Ich kann die Antwort nicht akzeptieren, da es kein Kontrollkästchen gibt ... – OldGuyInTheClub