euillez vérifier l'encoding - celui choisi ne fonctionne pas..
code de passage
missing_fields = []
for fieldname in required_columns :
if fieldname not in reader.fieldnames :
missing_fields.append(fieldname)
id_field = 'id'
if id_field in reader.fieldnames :
id_field = bytes('\xef\xbb\xbfid',self. encoding)
if id_field in reader.fieldnames:
missing_fields.append('id')
if missing_fields:
#Ceci est trop important pour continuer...
if len(missing_fields) > 1:
errors.append(_('Les colonnes suivantes sont manquantes dans le fichier :'))
sinon :
errors.append(_('The following column is missing in the file:'))
for field in missing_fields:
errors.append('- {field}'.format(field=field))
expensify.write({
'comments' : '\n'.join(errors),
'state': 'exception'
})
else :
line_count = 0
data_lines = []
facture_data = defaultdict(dict)
factures_found = defaultdict(liste)
data_not_found = defaultdict(liste)
type_not_found = defaultdict(dict)
bad_dates = defaultdict(liste)
bad_floats = defaultdict(list)
no_address = {}
no_departments = {}
# Vérifier les données avant d'importer
pour la ligne dans le lecteur :
# Encoder les champs
try :
for field in reader.fieldnames :
line[field] = str(line[field], encoding = self.encoding)
sauf :
errors = [] # Cette erreur est plus importante que les autres
errors.append(_('Veuillez vérifier l'encodage - celui sélectionné ne peut pas être utilisé...'))
break