2016-09-01 2 views
0

je reçois cette erreur lors de l'écriture des données dans le fichier csvproblèmes de codage en python comment le résoudre

import csv 
a = [u'eaTfxfwz', u'Edward', u'O\u2019Connell', u'[email protected]', u'Santa Clara', u'CA', 'UNITED STATES', u'150 Saratoga Avenue #306', u'', u'Santa Clara, CA', u'95051', u'', u'408-835-2209', u'None', u'', '', u'2012-010', u'pjOjJfwT', u'Undefined', u'Import', u'  ', ' San Jose HQ, CA ', '', '', u'Undefined', '', u'None', '', '', u'Undefined', u'Not Considered', '', u''] 
f3 = open('test.csv', 'at') 
writer = csv.writer(f3,delimiter = ',', lineterminator='\n',quoting=csv.QUOTE_ALL) 
writer.writerow(a) 

d'erreur

UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 1: ordinal not in range(128) 

Résolution du problème

+0

Copie possible de http://stackoverflow.com/questions/18766955/how-to-write-utf-8-in-a-csv-file. – citaret

Répondre

0

Vous pouvez utiliser utf-8 encodage.

import csv 
aenc=[] 
a = [u'eaTfxfwz', u'Edward', u'O\u2019Connell', u'[email protected]', u'Santa Clara', u'CA', 'UNITED STATES', u'150 Saratoga Avenue #306', u'', u'Santa Clara, CA', u'95051', u'', u'408-835-2209', u'None', u'', '', u'2012-010', u'pjOjJfwT', u'Undefined', u'Import', u'  ', ' San Jose HQ, CA ', '', '', u'Undefined', '', u'None', '', '', u'Undefined', u'Not Considered', '', u''] 
for x in a: 
    aenc.append(x.encode('utf-8')) 
with open('test.csv', 'wb') as f3: 
    writer = csv.writer(f3,delimiter = ',', lineterminator='\n', quoting=csv.QUOTE_ALL) 
    writer.writerow(aenc) 
+0

cela a fonctionné pour vous avez-vous fatigué, il ne fonctionne pas pour moi –

+0

Réessayez, je l'ai édité ça fonctionne –