Je voudrais convertir tous les fichiers csv d'un répertoire en fichiers xls. Nick T a posté ce code ici Comment convertir par lots .csv en .xls / xlsx
import os
import glob
import csv
import xlwt # from http://www.python-excel.org/
for csvfile in glob.glob(os.path.join('.', '*.csv')):
wb = xlwt.Workbook()
ws = wb.add_sheet('data')
with open(csvfile, 'rU') as f:
reader = csv.reader(f)
for r, row in enumerate(reader):
for c, val in enumerate(row):
ws.write(r, c, val)
wb.save(csvfile + '.xls')
Cependant, lorsque je lance ceci, une erreur vient de la dernière ligne.
UnicodeDecodeError: le codec 'ascii' ne peut pas décoder l'octet 0xef en position 0: l'ordinal n'est pas dans la plage (128)
Quelqu'un sait comment je peux me débarrasser de ça? Je travaille dans Terminal sur un Mac.
microsoft-excel
conversion
csv
user1504686
la source
la source
Réponses:
J'ai mis à jour ce code pour qu'il fonctionne sur python 3.5 en extrayant deux lignes de la boucle (
wb = xlwt.Workbook()
etwb.save('output.xls')
étaient dans la boucle).la source