Maison  >  Article  >  développement back-end  >  Python résout le problème des exceptions levées lors de l'écriture du chinois dans Excel

Python résout le problème des exceptions levées lors de l'écriture du chinois dans Excel

不言
不言original
2018-05-03 13:39:552101parcourir

Ce qui suit est un article Python qui résout le problème des exceptions levées lors de l'écriture du chinois dans Excel. Il a une bonne valeur de référence et j'espère qu'il sera utile à tout le monde. Allons jeter un oeil

Récemment, nous avons reçu une demande du service commercial, et les résultats statistiques doivent être envoyés au service commercial chaque jour. Lors du débogage du script python, le titre Excel exporté est. en chinois, et l'exception suivante est toujours levée

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)

La solution est de définir le jeu de caractères lors de la création le classeur :

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

La valeur par défaut normale l'encodage est ascii, donc écrivez le décodage chinois. Une exception sera levée, définissez-la simplement sur utf-8.

Recommandations associées :

Méthode de Python pour résoudre le problème des N étapes Comment tronquer les caractères

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn