Heim >Backend-Entwicklung >Python-Tutorial >Implementierung des Lesens und Schreibens von Excel-Tabellen basierend auf Python
Installieren Sie zuerst das entsprechende xlrd und xlwt
Öffnen Sie das cmd-Befehlsfenster und geben Sie zur Installation pip install xlrd und pip install xlwt ein. Geben Sie dann die Pip-Liste ein, um zu überprüfen, ob die Konfiguration erfolgreich ist:
xlrd operation #
Der nächste Schritt ist die allgemeine Syntaxoperation:
excel_data = xlrd.open_workbook(file path')#Das entsprechende Arbeitsblatt abrufen
sheet = excel_data.sheets()[worksheet serial number]#Eine bestimmte Tabelle im entsprechenden Arbeitsblatt abrufen
sheet.row_values(2)#entspricht den Daten einer bestimmten Zeile
sheet.cell(6,1).value#entspricht den Daten einer bestimmten Spalte
Nehmen Sie diese Tabelle als Beispiel und probieren Sie zuerst die entsprechende Anweisung aus:
Geben Sie zuerst die entsprechende Tabelle und eine der Tabellen an, andernfalls Es wird ein Fehler angezeigt und die Kompilierung wird nicht erfolgreich sein. Führen Sie den obigen Code aus, um Folgendes zu erhalten:
Der Quellcode lautet wie folgt:
import xlrd
import xlwt
excel_data = xlrd. open_workbook(file path')
excel_data = xlrd.open_workbook(r'C:Usershys macDesktop praktische Excel-Tabellenvorlage.xls')
sheet = excel_data.sheets() [Arbeitsblatt-Seriennummer ]
sheet = excel_data.sheets()[0]
print(sheet.row_values(2)) #Eine bestimmte Datenzeile drucken
drucken (sheet.col_values(1 ))#Eine bestimmte Spalte drucken
print( )
print ( sheet.cell(6,1).value)#Einen bestimmten Wert drucken
Die Laufergebnisse sind wie folgt:
Beim Vergleich der Tabellen erhalten wir einige bemerkenswerte Punkte. Die angegebene Anzahl Zeilen und Spalten beginnen bei 0. Öffnen Sie die angegebene Tabelle. Bitte beachten Sie, dass der absolute Pfad zusammen mit dem Dateinamen und dem Dateisuffix angegeben werden muss, um die Daten erfolgreich lesen zu können.
Das nächste Experiment besteht darin, die Daten einer bestimmten Zelle zu lesen:
sheet.cell(line, Column ).value
Führen Sie aus und erhalten Sie:
Vergleichen Sie die Tabelle, um die Daten zu erhalten:
ist (7, B), was mit der zuvor erwähnten Zählung von Null aus übereinstimmt.
Zusätzlich zu einigen der oben aufgeführten Vorgänge gibt es weitere allgemeine Aussagen, die in relevanten Dokumenten und offiziellen Websites eingesehen werden können. Am Ende des Artikels finden Sie entsprechende Links Versuchen Sie es mit einer anderen XLWT-Bibliothek, um den Excel-Tabellenschreibvorgang zu implementieren.
xlwt operation#
Die allgemeinen Bedenken bezüglich Excel-Tabellen sind die folgenden Aspekte:
Erstellen von Arbeitsmappen und Tabellen
Schreiben von Zellen
Gängige Formatierungen (Währungstext usw.)
Formel erstellen
Speichern
Als nächstes versuchen Sie nacheinander die oben genannten Funktionen:
Die entsprechenden Objekte der Arbeitsmappe und Tabelle sind: Arbeitsmappe, Blatt
2. Zellenzuordnung:
hier habe ich versucht, negative Zahlen zu verwenden
Beim Kompilieren gab es keine Probleme und ich werde es später speichern, um zu überprüfen, ob das Ergebnis korrekt ist.
3. Formateinstellung:
Es ist ersichtlich, dass die entsprechenden eingehenden Parameter neben Zeile, Spalte und Wert auch den Stil enthalten, der standardmäßig weggelassen wird. Das Format der Testeinstellungen ist hier fett. Andere Formate können implementiert werden, indem auf das Suchdokument am Ende des Artikels verwiesen wird. Hier sind einige andere gängige Formate:
style = easyxf(num_format_str='$#,##0.00')
# oder legen Sie es direkt auf dem Stilobjekt fest
Stil = easyxf('font: Bold 1')
style.num_format_str = '$#,##0.00'
sheet.write(0, 0, '100.00', style)
4. Formel erstellen:
Verwenden Sie xlwt.Formula, um Excel-Formeln zu implementieren.
sheet.write(0, 0, xlwt.Formula('HYPERLINK("http://yujitomita.com"; "click me")'))
5. Vorgang speichern:
workbook.save("Python.xls")
wbk.save('pathname')
Es lohnt sich, hier daran zu erinnern, dass der Name des Arbeitsblatts kleiner sein sollte Es darf maximal 31 Zeichen lang sein und darf keine Sonderzeichen (:. usw.) enthalten.
Laufende Ergebnisse:
Nach dem vorherigen Pit (-1,0) sind die Testlaufergebnisse:
# Kodierung: utf-8
import xlrd
import xlwt
workbook = xlwt.Workbook()
sheet = workbook.add_sheet("Sheet 1")
#Arbeitsmappe (Arbeitsmappe) und Arbeitsblatt (Blatt) erstellen
sheet.write(-1, 0, 'Python')#Die Zeilen und Spalten entsprechen
style = xlwt.easyxf('font: Bold 1')
sheet.write (1, 1, 'style ', style)
workbook.save('C:Usershys macDesktopmr.cpython.xls')
Das Fehlerergebnis lautet wie folgt:
SyntaxError: (Unicode-Fehler) Der Codec „unicodeescape“ kann Bytes in Position 2-3 nicht dekodieren: abgeschnittenes UXXXXXXXX-Escape
Es ist ein Problem mit der Dateikodierung aufgetreten, der folgende Satz wurde geändert:
Arbeitsmappe. save(r'C:Usershys macDesktopmr .cpython.xls')
Zurück zur Grube am Anfang: Die Zuweisungsregeln für das Einheitenraster sollten nicht mit der Gewohnheit übereinstimmen der Verwendung. Die letzte Änderung ist:
import xlrd
import xlwt
workbook = xlwt.Workbook()
sheet = workbook.add_sheet("Sheet 1")
#Arbeitsmappe und Blatt erstellen
sheet.write(1, 0, 'Python') #Die Zeilen und Spalten entsprechen
style = xlwt.easyxf('font: Bold 1')
sheet.write(1, 1, 'style ', style)
workbook.save(r'C:Usershys macDesktopmr.cpython1.xls') #Der Dateipfad muss vorhanden sein und darf nicht identisch sein Name