Mit xlwt vs openpyxl
Brauche ich etwas Hilfe mit openpyxl in PYTHON. Ich habe mit xlwt Recht erfolgreich, aber jetzt habe ich einige Dateien (in der MySQL Workbench), die mehr als 65.000 Zeilen. Ich weiß, ich kann eine CSV-Datei erstellen, aber XLSX-Format ist die bevorzugte Ausgabe. Ich bin in der Lage, erstellen Sie eine Arbeitsmappe, die mit openpyxl, aber ich habe nicht erfolgreich gewesen, platzieren die MySQL Daten in die Tabelle. Der Hauptteil des Programms mit xlwt ist ziemlich einfach (siehe unten). Ich kann einfach nicht scheinen, um herauszufinden, wie zu tun die gleiche Sache mit openpyxl. Ich habe versucht eine Reihe von verschiedenen Kombinationen und Lösungen. Ich habe gerade stecken nach der "for x in result:".
file_dest = "c:\home\test.xls"
result = dest.execute("select a, b, c, d from filea")
for x in result:
rw = rw + 1
sheet1 = book.add.sheet("Sheet 1")
row1 = sheet1.row(rw)
row1.write(1, x[0])
row1.write(1, x[1])
row1.write(1, x[2])
row1.write(1, x[3])
book.save(file_dest)
- Es sieht nicht wie der code, den Sie haben zitiert, arbeitet
xlwt
code. Ich finde es unwahrscheinlich, dass Sie möchten, erstellen Sie eine neue Tabelle für jede Zeile in der Ergebnismenge, und in jedem Fall die syntax wäre nichtbook.add.sheet
. Aber vorausgesetzt, dass der eigentliche code, dass Sie tatsächlich ausgeführt wird, erfolgreich nutzenxlwt
, dann sollten Sie vielleicht besser mitxlsxwriter
stattopenpyxl
alsxlsxwriter
hat eine Programmier-Schnittstelle näher an derxlwt
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist ein guter Anwendungsfall für die Verwendung von append():
Ein kleines Beispiel:
http://pythonhosted.org//openpyxl/
Workbook(optimized_write=True)
so dass die Daten direkt geschrieben werden, um die Excel-Datei. Sonst wird alles umgewandelt in Python Objekte und im Speicher gehalten für manipulation. Für pure Geschwindigkeit beim schreiben nurxlsxwriter
hat die Kante.