Python convert csv to xlsx Python convert csv to xlsx python python

Python convert csv to xlsx


Here's an example using xlsxwriter:

import osimport globimport csvfrom xlsxwriter.workbook import Workbookfor 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, there is also a package called openpyxl, that can read/write Excel 2007 xlsx/xlsm files.

Hope that helps.


With my library pyexcel,

 $ pip install pyexcel pyexcel-xlsx

you can do it in one command line:

from pyexcel.cookbook import merge_all_to_a_book# import pyexcel.ext.xlsx # no longer required if you use pyexcel >= 0.2.2 import globmerge_all_to_a_book(glob.glob("your_csv_directory/*.csv"), "output.xlsx")

Each csv will have its own sheet and the name will be their file name.


First install openpyxl:

pip install openpyxl

Then:

from openpyxl import Workbookimport csvwb = Workbook()ws = wb.activewith open('test.csv', 'r') as f:    for row in csv.reader(f):        ws.append(row)wb.save('name.xlsx')