Use the excellent xlrd package, which works on any platform. That means you can read Excel files from Python in Linux! Example usage:
Open the workbook
import xlrd wb = xlrd.open_workbook( 'myworkbook.xls' ) |
Check the sheet names
wb.sheet_names() |
Get the first sheet either by index or by name
sh = wb.sheet_by_index( 0 ) sh = wb.sheet_by_name(u 'Sheet1' ) |
Iterate through rows, returning each as a list that you can index:
for rownum in range (sh.nrows): print sh.row_values(rownum) |
If you just want the first column:
first_column = sh.col_values( 0 ) |
Index individual cells:
cell_A1 = sh.cell( 0 , 0 ).value cell_C4 = sh.cell(rowx = 3 ,colx = 2 ).value |
(Note Python indices start at zero but Excel starts at one)
Turns out the put_cell() method isn’t supported, so ignore the following section (Thanks for the heads up, John!)
Put something in the cell:
row = 0 col = 0 ctype = 1 # see below value = 'asdf' xf = 0 # extended formatting (use 0 to use default) sh.put_cell(row, col, ctype, value, xf) sh.cell( 0 , 0 ) # text:u'asdf' sh.cell( 0 , 0 ).value # 'asdf' |