XLSX to CSV

A simple script to create CSV versions of any XLSX files in a given folder.

#The Basics
import xlrd
import csv
import os
import re

# Create empty variables and hash tables we'll need later
Location = {}

# Location to output CSV file when all is done
Location['input'] = input('Folder: ')
Location['output'] = os.path.join(Location['input'],'csv')

def csv_from_excel(file):
    print("Parsing ", file)
    wb = xlrd.open_workbook(file)
    for sheet in wb.sheet_names():
        print('Exporting Sheet:', sheet)
        sh = wb.sheet_by_name(sheet)
        fileout = os.path.splitext(file)[0] + " " + sheet + ".csv"
        with open(fileout, "w", newline="") as csvfile:
            wr = csv.writer(csvfile, quoting=csv.QUOTE_ALL)
            for rownum in range(sh.nrows):
                wr.writerow(sh.row_values(rownum))
            csvfile.close()

# runs the csv_from_excel function:
for filename in os.listdir(Location['input']):
    if filename.endswith(".xlsx") or filename.endswith(".XLSX"):
        newfilename = os.path.splitext(filename)[0] + ".csv"
        csv_from_excel(str(Location['input'] + "\\" + filename))

NB: This functions combines all sheets within an XLSX into a single CSV file.