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.')
Est-il possible qu'il soit déjà encodé en Unicode lors de la lecture ?