Heim >Backend-Entwicklung >Python-Tutorial >Wie man Excel in einer Python-Umgebung betreibt
Der in diesem Artikel geteilte Inhalt ist, wie man Excel in der Python-Umgebung betreibt. Er hat einen gewissen Referenzwert.
1 Bibliotheken
verarbeiten Excel-Tabellen in Python. Zu den häufig verwendeten Bibliotheken gehören XLRD-Tabellen (Excel lesen), XLWT-Tabellen (Excel schreiben), OpenPyXL (kann Excel-Tabellen lesen und schreiben) usw. xlrd ist beim Lesen von Excel-Tabellen mit großen Datenmengen effizienter als openpyxl, daher habe ich beim Schreiben von Skripten die beiden Bibliotheken xlrd und xlwt verwendet. Keine dieser Bibliotheksdateien bietet die Funktion, den Inhalt vorhandener Excel-Tabellen zu ändern. Im Allgemeinen kann der Inhalt im ursprünglichen Excel nur ausgelesen, verarbeitet und dann in eine neue Excel-Datei geschrieben werden.
Mit pip search excel
können Sie nachschauen und weitere Entwicklungspakete sehen.
2. Häufig gestellte Fragen
Bei der Verwendung von Python zur Verarbeitung von Excel-Tabellen sind mir zwei weitere schwierige Probleme aufgefallen: Unicode-Kodierung und die in Excel aufgezeichnete Zeit.
Da die Standardzeichenkodierung von Python Unicode ist, gibt das Programm beim Drucken von aus Excel gelesenen chinesischen Zeichen oder beim Lesen von Excel-Tabellen oder -Blättern mit chinesischen Namen den Fehler UnicodeEncodeError: „ASCII“-Codec kann Zeichen in Position 0 nicht kodieren aus -2: Ordnungszahl nicht im Bereich (128). Dies liegt daran, dass Chinesisch unter Windows die Kodierungsmethode gb2312 verwendet und Python es zum Dekodieren als Unicode und ASCII behandelt, weshalb ein Fehler gemeldet wird. Verwenden Sie VAR.encode('gb2312'), um das Problem beim Drucken von Chinesisch zu lösen. (Es ist seltsam, dass manchmal die Ergebnisse ausgedruckt werden können, aber was angezeigt wird, ist kein Chinesisch, sondern ein Haufen Codes.) Wenn Sie Daten aus einer Excel-Tabelle mit einem chinesischen Dateinamen lesen möchten, können Sie vorher „u“ hinzufügen der Dateiname, um anzuzeigen, dass der chinesische Dateiname in Unicode codiert ist.
In Excel werden Uhrzeit und Datum mithilfe von Gleitkommazahlen ausgedrückt. Es ist ersichtlich, dass, wenn die Zelle „20. März 2013“ im „normalen“ Format ausgedrückt wird, der Inhalt zu „41353“ wird. Wenn das Zellenformat auf „Datum“ geändert wird, wird der Inhalt zu „20. März 2013“. Nach dem Lesen von Datum und Uhrzeit in Excel mit xlrd wird eine Gleitkommazahl erhalten. Es spielt also keine Rolle, ob das in Excel geschriebene Datum und die Uhrzeit eine Gleitkommazahl sind. Sie müssen lediglich die Darstellung der Tabelle in Datum und Uhrzeit ändern, um die normale Darstellung zu erhalten. Verwenden Sie in Excel die Gleitkommazahl 1, um den 31. Dezember 1899 darzustellen.
3. Allgemeine Funktionen
Im Folgenden werden hauptsächlich die datumsbezogenen Funktionen in xlrd, xlwt und datetime vorgestellt.
import xlrdimport xlwtfrom datetimedef testXlrd(filename): book=xlrd.open_workbook(filename) sh=book.sheet_by_index(0) print "Worksheet name(s): ",book.sheet_names()[0] print 'book.nsheets',book.nsheets print 'sh.name:',sh.name,'sh.nrows:',sh.nrows,'sh.ncols:',sh.ncols print 'A1:',sh.cell_value(rowx=0,colx=1) #如果A3的内容为中文 print 'A2:',sh.cell_value(0,2).encode('gb2312')def testXlwt(filename): book=xlwt.Workbook() sheet1=book.add_sheet('hello') book.add_sheet('word') sheet1.write(0,0,'hello') sheet1.write(0,1,'world') row1 = sheet1.row(1) row1.write(0,'A2') row1.write(1,'B2') sheet1.col(0).width = 10000 sheet2 = book.get_sheet(1) sheet2.row(0).write(0,'Sheet 2 A1') sheet2.row(0).write(1,'Sheet 2 B1') sheet2.flush_row_data() sheet2.write(1,0,'Sheet 2 A3') sheet2.col(0).width = 5000 sheet2.col(0).hidden = True book.save(filename)if __name__=='__main__': testXlrd(u'你好。xls') testXlwt('helloWord.xls') base=datetime.date(1899,12,31).toordinal() tmp=datetime.date(2013,07,16).toordinal() print datetime.date.fromordinal(tmp+base-1).weekday()
Verwandte Empfehlungen:
Verwenden Sie Python, um Excel-Dateien zu verarbeiten
Python-Module zur Verarbeitung von Excel
Vergleich verschiedener Excel-Module in Python
Das obige ist der detaillierte Inhalt vonWie man Excel in einer Python-Umgebung betreibt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!