Maison  >  Questions et réponses  >  le corps du texte

python - openpyxl lit les fichiers xlsx et génère des données dans un dictionnaire Y a-t-il un problème avec l'encodage chinois ?

Le code ci-dessous lit les données dans 1.XLSX, enregistre toutes les données dans le dictionnaire my_data, puis enregistre le dictionnaire dans le fichier recensement2010.py pour une utilisation ultérieure.
Problème :
L'opération peut réussir. Mais dans le fichier de sortie, tout le contenu chinois est u'u5f20u5baau798f' : Un tel encodage
Comment modifier l'encodage pour qu'il devienne des caractères chinois normaux dans le dictionnaire ?

import openpyxl, pprint
print('Opening workbook...')
wb = openpyxl.load_workbook('1.xlsx')
sheet=wb.get_active_sheet()
my_data={}
print('Reading rows...')
for row in range(1,125):
    cun=sheet['b'+str(row)].value
    huzhu=sheet['c'+str(row)].value
    renkou1=sheet['d'+str(row)].value
    my_data.setdefault(cun,{})
    my_data[cun].setdefault(huzhu,{'hushu':0,'renkou':0})
    my_data[cun][huzhu]['hushu']+=1
    my_data[cun][huzhu]['renkou']+=int(renkou1)
print('Writing results...')
resultFile = open('census2010.py', 'w')
resultFile.write('allData = ' + pprint.pformat(my_data))
resultFile.close()
print('Done.')
我想大声告诉你我想大声告诉你2686 Il y a quelques jours1183

répondre à tous(2)je répondrai

  • 大家讲道理

    大家讲道理2017-06-12 09:27:15

    import codecs
    codecs.open('census2010.py', 'w', 'utf-8')

    répondre
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-12 09:27:15

    Est-il possible qu'il soit déjà encodé en Unicode lors de la lecture ?

    répondre
    0
  • Annulerrépondre