Heim  >  Artikel  >  Backend-Entwicklung  >  Python löst das Problem der Ausnahmen, die beim Schreiben von Chinesisch in Excel ausgelöst werden

Python löst das Problem der Ausnahmen, die beim Schreiben von Chinesisch in Excel ausgelöst werden

不言
不言Original
2018-05-03 13:39:552026Durchsuche

Der folgende Python-Artikel löst das Problem der beim Schreiben von Chinesisch in Excel ausgelösten Ausnahmen. Er hat einen guten Referenzwert und ich hoffe, dass er für alle hilfreich ist. Schauen wir mal vorbei

Kürzlich habe ich eine Anfrage von der Geschäftsabteilung erhalten, und die statistischen Ergebnisse müssen täglich an die Geschäftsabteilung gesendet werden. Beim Debuggen des Python-Skripts lautet der exportierte Excel-Titel auf Chinesisch, und die folgende Ausnahme wird immer ausgelöst

Traceback (most recent call last): 
 File "totalpx.py", line 99, in <module> 
 export() 
 File "totalpx.py", line 54, in export 
 workbook.save(out_path) 
 File "/usr/lib/python2.7/site-packages/xlwt-1.2.0-py2.7.egg/xlwt/Workbook.py", line 710, in save 
 doc.save(filename_or_stream, self.get_biff_data()) 
 File "/usr/lib/python2.7/site-packages/xlwt-1.2.0-py2.7.egg/xlwt/Workbook.py", line 674, in get_biff_data 
 shared_str_table = self.__sst_rec() 
 File "/usr/lib/python2.7/site-packages/xlwt-1.2.0-py2.7.egg/xlwt/Workbook.py", line 636, in __sst_rec 
 return self.__sst.get_biff_record() 
 File "/usr/lib/python2.7/site-packages/xlwt-1.2.0-py2.7.egg/xlwt/BIFFRecords.py", line 77, in get_biff_record 
 self._add_to_sst(s) 
 File "/usr/lib/python2.7/site-packages/xlwt-1.2.0-py2.7.egg/xlwt/BIFFRecords.py", line 92, in _add_to_sst 
 u_str = upack2(s, self.encoding) 
 File "/usr/lib/python2.7/site-packages/xlwt-1.2.0-py2.7.egg/xlwt/UnicodeUtils.py", line 50, in upack2 
 us = unicode(s, encoding) 
UnicodeDecodeError: &#39;ascii&#39; codec can&#39;t decode byte 0xe6 in position 0: ordinal not in range(128)

Die Lösung besteht darin, den Zeichensatz beim Erstellen der Arbeitsmappe festzulegen :

workbook = xlwt.Workbook(encoding = 'utf-8')

Die normale Standardcodierung ist ASCII, daher wird beim Schreiben der chinesischen Dekodierung eine Ausnahme ausgelöst. Setzen Sie sie einfach auf utf-8.

Verwandte Empfehlungen:

Pythons Methode zur Lösung des Problems der N-Level-Schritte

Python löst das Problem von Fedora Dekomprimieren von Zip auf Chinesisch Wie man verstümmelte Zeichen erkennt

Das obige ist der detaillierte Inhalt vonPython löst das Problem der Ausnahmen, die beim Schreiben von Chinesisch in Excel ausgelöst werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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