Das Folgende ist ein Beispiel für die Verwendung von Python und xlwt zum Schreiben von Chinesisch in eine Excel-Datei. Es hat einen guten Referenzwert und ich hoffe, es wird für alle hilfreich sein. Schauen wir uns
Python und andere Tools sind in der Tat gute Tools, aber manchmal habe ich das Gefühl, dass ich dem Chinesischen nicht sehr nahe komme, egal ob es sich um grundlegende Python- oder Python-Softwarepakete handelt. Es ist normal, dass von Zeit zu Zeit Probleme auftreten. Beim Schreiben einer Excel-Datei bin ich gerade erneut auf ein solches Problem gestoßen.
Um die Situation zu veranschaulichen, nehmen wir an, ich möchte alle Dateinamen im aktuellen Ordner in eine Excel-Datei schreiben.
Die aktuellen Verzeichnisinformationen lauten wie folgt:
grey@DESKTOP-3T80NPQ:/mnt/e/01_workspace/01_docs/02_blog/2017年/08月$ ls -l total 1464 -rwxrwxrwx 1 rootroot 13067 Aug 20 18:58 as86汇编程序的编译与链接.docx -rwxrwxrwx 1 rootroot 13794 Aug 8 22:07 C语言中access函数的使用.docx -rwxrwxrwx 1 rootroot 13285 Aug 8 23:08 C语言中合并字符串.docx -rwxrwxrwx 1 rootroot 15514 Aug 8 23:28 C语言中的动态内存分配.docx -rwxrwxrwx 1 rootroot 13765 Aug 8 23:43 GNU glibc中对C语言标准库中动态内存管理的改进.docx -rwxrwxrwx 1 rootroot 14450 Aug 8 22:37 GNU glibc库中函数执行成功与失败的返回值.docx -rwxrwxrwx 1 rootroot 13485 Aug 20 14:51 Linux 0.12的任务调度猜测.docx -rwxrwxrwx 1 rootroot 11934 Aug 20 13:20 Linux BIOS启动.docx -rwxrwxrwx 1 rootroot 13349 Aug 20 19:38 Linux中dd命令的使用.docx -rwxrwxrwx 1 rootroot 13802 Aug 20 19:20 Linux中使用dd命令修改as86汇编编译链接后的程序.docx -rwxrwxrwx 1 rootroot 15118 Aug 20 16:47 Linux启动代码boot.s理解.docx -rwxrwxrwx 1 rootroot 16005 Aug 20 14:25 Linux操作系统的BIOS启动流程.docx -rwxrwxrwx 1 rootroot 14755 Aug 20 01:29 Linux的proc文件系统.docx -rwxrwxrwx 1 rootroot 12777 Aug 1 23:50 mot文件的单行校验与全局校验.docx -rwxrwxrwx 1 rootroot 131404 Aug 13 14:50 Office 2016 Excel实现下拉栏.docx -rwxrwxrwx 1 rootroot 86665 Aug 19 11:44 Office 2016中修改正文默认字体.docx -rwxrwxrwx 1 rootroot 113476 Aug 9 21:07 PPT中修改已插入对象的图标.docx -rwxrwxrwx 1 rootroot 13636 Aug 16 22:23 Python2与Python3中__bool__方法的差异.docx -rwxrwxrwx 1 rootroot 13924 Aug 1 23:32 Python2与Python3中除法功能的异同.docx -rwxrwxrwx 1 rootroot 14551 Aug 16 23:09 Python2与Python3在不同类的对象比较上的差异.docx -rwxrwxrwx 1 rootroot 14101 Aug 12 10:30 Python abc模块的几个小知识点.docx -rwxrwxrwx 1 rootroot 13581 Aug 9 23:24 Python OOP容器设计时合理引入列表方法.docx -rwxrwxrwx 1 rootroot 12890 Aug 12 14:29 Python中isinstance用法.docx -rwxrwxrwx 1 rootroot 13899 Aug 9 22:46 Python中list的extend方法.docx -rwxrwxrwx 1 rootroot 13142 Aug 18 02:22 Python中__new__方法的使用.docx -rwxrwxrwx 1 rootroot 13280 Aug 20 23:17 Python中使用property实现类的特性.docx -rwxrwxrwx 1 rootroot 13257 Aug 16 22:39 Python中定制类的比较运算方法.docx -rwxrwxrwx 1 rootroot 13897 Aug 18 22:45 Python中最基础类的属性和信息.docx -rwxrwxrwx 1 rootroot 13567 Aug 19 11:53 Python中的@classmethod用法.docx -rwxrwxrwx 1 rootroot 14859 Aug 12 15:32 Python中的join函数用法.docx -rwxrwxrwx 1 rootroot 13832 Aug 18 01:38 Python中的weakref简单小结.docx -rwxrwxrwx 1 rootroot 13314 Aug 16 20:51 Python中的哈希常识小结.docx -rwxrwxrwx 1 rootroot 13822 Aug 12 19:15 Python中的静态函数用法.docx -rwxrwxrwx 1 rootroot 15223 Aug 11 00:12 Python中@符号的用法-1.docx -rwxrwxrwx 1 rootroot 162 Aug 21 23:20 ~$Python和xlwt向Excel文件中写入中文.docx -rwxrwxrwx 1 rootroot 13519 Aug 10 20:01 Python实现接受任意个数参数的函数.docx -rwxrwxrwx 1 rootroot 15114 Aug 19 20:31 Python实现更相减损术求解最大公约数.docx -rwxrwxrwx 1 rootroot 13425 Aug 10 22:51 Python编程中NotImplementedError的使用.docx -rwxrwxrwx 1 rootroot 13345 Aug 20 22:27 Python通过属性手段实现只允许调用一次的方法.docx -rwxrwxrwx 1 rootroot 13586 Aug 19 11:15 Python面向对象编程中属性的基本操作.docx -rwxrwxrwx 1 rootroot 139264 Aug 2 23:50 Simulink解析带有系数和偏移量的CAN报文信息.docx -rwxrwxrwx 1 rootroot 13542 Aug 19 17:22 TAOCP中1.1习题1解答与思考.docx -rwxrwxrwx 1 rootroot 13683 Aug 19 16:05 TAOCP中最大公约数算法理解.docx -rwxrwxrwx 1 rootroot 13539 Aug 20 18:41 Ubuntu上安装as86汇编器.docx -rwxrwxrwx 1 rootroot 203890 Aug 12 14:20 Windows10安装bash.docx -rwxrwxrwx 1 rootroot 258 Aug 21 23:19 xlwt_demo.py -rwxrwxrwx 1 rootroot 13353 Aug 18 02:07 使用__del__方法在Python文件处理时保证文件关闭.docx -rwxrwxrwx 1 rootroot 127142 Aug 7 21:07 使用PolySpace进行模型的检测.docx -rwxrwxrwx 1 rootroot 12430 Aug 21 23:22 使用Python和xlwt向Excel文件中写入中文.docx -rwxrwxrwx 1 rootroot 13303 Aug 19 19:06 辗转相除法求最大公约数.docx
Unter anderem ist xlwt_demo.py ein im Voraus geschriebenes Python-Skript. Der Code lautet wie folgt:
#!/usr/bin/python # -*- coding-cp936-*- import os import xlwt from xlwt importWorkbook book = Workbook() sheet1 =book.add_sheet('list') row_num = 0 for f inos.listdir('.'): sheet1.write(row_num,0,f) row_num += 1 book.save('demo.xls')
Das Programm wird ausgeführt. Ergebnis:
grey@DESKTOP-3T80NPQ:/mnt/e/01_workspace/01_docs/02_blog/2017年/08月$ python xlwt_demo.py Traceback (mostrecent call last): File "xlwt_demo.py", line 14, in<module> book.save('demo.xls') File"/usr/local/lib/python2.7/dist-packages/xlwt/Workbook.py", line 710,in save doc.save(filename_or_stream,self.get_biff_data()) File"/usr/local/lib/python2.7/dist-packages/xlwt/Workbook.py", line 674,in get_biff_data shared_str_table = self.__sst_rec() File"/usr/local/lib/python2.7/dist-packages/xlwt/Workbook.py", line 636,in __sst_rec return self.__sst.get_biff_record() File"/usr/local/lib/python2.7/dist-packages/xlwt/BIFFRecords.py", line77, in get_biff_record self._add_to_sst(s) File"/usr/local/lib/python2.7/dist-packages/xlwt/BIFFRecords.py", line92, in _add_to_sst u_str = upack2(s, self.encoding) File"/usr/local/lib/python2.7/dist-packages/xlwt/UnicodeUtils.py", line50, in upack2 us = unicode(s, encoding) UnicodeDecodeError:'ascii' codec can't decode byte 0xe6 in position 4: ordinal not in range(128)
Wie Sie der obigen Eingabeaufforderung entnehmen können, unterstützt dieses Tool Standardmäßig ASCII-Code. Obwohl ich das Codierungsformat am Anfang des Codes angegeben habe, sind immer noch Probleme aufgetreten. Wenn ja, muss es eine spezielle Verwendung für xlwt geben. Nach der Überprüfung des Dokuments lautet der geänderte Code wie folgt:
#!/usr/bin/python # -*- coding:cp936 -*- import os import xlwt from xlwt importWorkbook book =Workbook(encoding='utf-8') sheet1 =book.add_sheet('list') row_num = 0 for f inos.listdir('.'): sheet1.write(row_num,0,f) row_num += 1 book.save('demo.xls')
Die Ergebnisse der Programmausführung sind wie folgt:
grey@DESKTOP-3T80NPQ:/mnt/e/01_workspace/01_docs/02_blog/2017/08$ python xlwt_demo.py
grey@DESKTOP- 3T80NPQ:/mnt/ e/01_workspace/01_docs/02_blog/2017/08$ ls
Kompilierung und Verknüpfung von as86assembler.docx Verwendung von Eigenschaften in Python zur Implementierung von Klassenmerkmalen.docx
Zugriff in C-Sprache Verwendung von Funktionen.docx Vergleichsoperationsmethoden benutzerdefinierter Klassen in Python.docx
Zeichenfolgen in C-Sprache zusammenführen.docx Attribute und Informationen der grundlegendsten Klassen in Python.docx
In C Sprache Dynamische Speicherzuweisung.docx @classmethod-Verwendung in Python.docx
demo.xls Join-Funktionsverwendung in Python.docx
Verbesserungen bei der dynamischen Speicherverwaltung in der C-Sprachstandardbibliothek in GNU glibc. docx Eine kurze Zusammenfassung von schwachref in Python.docx
Der Rückgabewert der erfolgreichen und fehlgeschlagenen Funktionsausführung in der GNU-Glibc-Bibliothek.docx Eine Zusammenfassung des gesunden Menschenverstandes über Hashing in Python.docx
Aufgabe Planung in Linux 0.12 Guess.docx Statische Funktionsverwendung in Python.docx
Linux BIOS Startup.docx Verwendung des @-Symbols in Python-1.docx
Verwendung des dd-Befehls in Linux.docx ~ $Python und xlwt schreiben Chinesisch in eine Excel-Datei.docx
Verwenden Sie den Befehl dd in Linux, um das mit der as86-Assembly kompilierte und verknüpfte Programm zu ändern.docx Python implementiert eine Funktion, die eine beliebige Anzahl von Parametern akzeptiert.docx
Linux-Startcode boot.s verstehen.docx Python implementiert die Phasenreduktionstechnik, um den größten gemeinsamen Teiler zu lösen.docx
BIOS-Startprozess des Linux-Betriebssystems.docx Die Verwendung von NotImplementedError in der Python-Programmierung.docx
Linux proc file system.docx Python verwendet Attribute, um Methoden zu implementieren, die nur einmal aufgerufen werden dürfen.docx
Einzeilige Überprüfung und globale Überprüfung von Mot-Dateien.docx Grundlegende Operationen von Attributen in Objektorientierte Python-Programmierung.docx
Office 2016 Excel implementiert Dropdown-Leiste.docx Simulink analysiert CAN-Nachrichteninformationen mit Koeffizienten und Offsets.docx
Ändern Sie die Standardtextschriftart in Office 2016.docx Antworten und Gedanken zu 1.1 Übung 1 in TAOCP .docx
Ändern Sie das Symbol des eingefügten Objekts in PPT.docx. Den größten gemeinsamen Teiler-Algorithmus in TAOCP.docx verstehen
Der Unterschied zwischen __bool__-Methoden in Python2 und Python3.docx Installation der as86-Assembly auf Ubuntu Device.docx
Ähnlichkeiten und Unterschiede der Divisionsfunktionen in Python2 und Python3.docx Windows10-Installation bash.docx
Unterschiede zwischen Python2 und Python3 beim Vergleichen von Objekten verschiedener Klassen.docx xlwt_demo.py
Ein paar kleine Wissenspunkte zum Python-Abc-Modul.docx Verwenden Sie die Methode __del__, um sicherzustellen, dass die Datei während der Python-Dateiverarbeitung geschlossen wird.docx
Vernünftig Führen Sie die Listenmethode beim Entwerfen des Python-OOP-Containers ein.docx Verwenden Sie PolySpace zur Modellierung von Detection.docx
Verwendung von isinstance in Python.docx Verwenden Sie Python und xlwt, um Chinesisch in Excel-Dateien zu schreiben.docx
Methode der Liste in Python.docx erweitern. Finden Sie den größten gemeinsamen Teiler mit der Methode der euklidischen Division.docx
Verwendung der Methode __new__ in Python.docx
Excel-Datei wurde generiert Der spezifische Inhalt lautet wie folgt:
Chinesische Schriftzeichen wurden erfolgreich geschrieben.
Es ist erwähnenswert, dass die Kodierung cp936 unter Windows erfolgreich geschrieben werden kann, unter Linux jedoch nur utf-8 verwendet werden kann. Das ist ein sehr interessantes Phänomen, und ich konnte es noch nicht herausfinden.
Verwandte Empfehlungen:
So bedienen Sie Excel in einer Python-Umgebung
Das obige ist der detaillierte Inhalt vonSchreiben Sie mit Python und xlwt Chinesisch in eine Excel-Datei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!