Use the "xlrd" module[1]
############################
import csv
import xlrd
FILE_NAME = 'example.xls'
wb = xlrd.open_workbook(FILE_NAME)
for name in wb.sheet_names():
out = file('%s.csv' % name, 'wb')
writer = csv.writer(out)
sheet = wb.sheet_by_name(name)
for row in xrange(sheet.nrows):
writer.writerow([
sheet.cell_value(row, col)
for col in xrange(sheet.ncols)
])
out.close()
#############################
You say you only want the first sheet, so adjust accordingly.
-tkc
[1]
http://pypi.python.org/pypi/xlrd/
Many thanks Tim, this worked well!
In the interest of learning, anyone have a XLS to DBF solution?
This becomes considerably trickier unless you're willing to have
all your DBF fields be CHAR-format rather than their actual
data-type. In an Excel file, one column can hold multiple
data-types (text, numbers, formulas, dates, currency, etc)
whereas (from my humble understanding) a single column in a DBF
must be of the same data-type.
That said, if you want to attempt it, I'd suggest using
to create the DBF files using code similar to my CSV version
(which mostly iterates over the Excel workbook and dumps the
contents to CSV files -- just change it to dump the contents to
your DBF).
-tkc