Вот пример использования xlsxwriter:
import os
import glob
import csv
from xlsxwriter.workbook import Workbook
for csvfile in glob.glob(os.path.join('.', '*.csv')):
workbook = Workbook(csvfile[:-4] + '.xlsx')
worksheet = workbook.add_worksheet()
with open(csvfile, 'rt', encoding='utf8') as f:
reader = csv.reader(f)
for r, row in enumerate(reader):
for c, col in enumerate(row):
worksheet.write(r, c, col)
workbook.close()
FYI, есть также пакет под названием openpyxl, который может читать/писать Excel 2007 XLSX файлы/XLSM.
Надеюсь, что это поможет.
Благодарим за этот очень полезный фрагмент кода. При использовании больших файлов лучше использовать «constant_memory» для использования контролируемой памяти, например: 'workbook = Workbook (csvfile + '.xlsx', {'constant_memory': True})'. Ссылка: http://xlsxwriter.readthedocs.org/ru/latest/working_with_memory.html – Ethan
Nice ... Однако созданные файлы xlsx полны всех числовых полей с ошибками, которые хранятся в виде текста вместо цифр. . – MrMobileMan
Нашел исправление для чисел в виде текста: http://stackoverflow.com/questions/24971556/openpyxl-python-writing-csv-to-excel-gives-number-formatted-as-text – MrMobileMan