Me gustaría convertir todos los archivos csv en un directorio a archivos xls. Nick T publicó este código aquí Cómo convertir por lotes .csv a .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')
Sin embargo, cuando ejecuto esto, aparece un error proveniente de la última línea.
UnicodeDecodeError: el códec 'ascii' no puede decodificar el byte 0xef en la posición 0: el ordinal no está en el rango (128)
Alguien sabe cómo puedo deshacerme de esto? Estoy trabajando en Terminal en una Mac.
microsoft-excel
conversion
csv
usuario1504686
fuente
fuente
Respuestas:
Actualicé este código para que funcione en Python 3.5 al obtener dos líneas del bucle (
wb = xlwt.Workbook()
ywb.save('output.xls')
estaban dentro del bucle).fuente