Wie man Excel in einer Python-Umgebung betreibt

零到壹度
Freigeben: 2018-04-14 10:36:05
Original
1870 Leute haben es durchsucht

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()
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage