First, install the XLRD module
Download the HTTP://PYPI.PYTHON.ORG/PYPI/XLRD module installation to the Python website, provided the Python environment is already installed.
Second, the use of the introduction
1. Import Module
Import xlrd
2. Open Excel file to read data
data = Xlrd.open_workbook (' Excelfile.xls ')
3, the use of skills
Get a worksheet
Table = data.sheets () [0] #通过索引顺序获取 table = data.sheet_by_index (0) #通过索引顺序获取
Table = data.sheet_by_name (U ' Sheet1 ') #通过名称获取
get the values (arrays) for the entire row and the entire columnTable.row_values (i) table.col_values (i)
get the number of rows and columnsnrows = table.nrows Ncols = Table.ncols
cyclic row and column table dataFor I in Range (nrows): Print table.row_values (i)
Cell CellCELL_A1 = Table.cell (0,0). Value cell_c4 = Table.cell (2,3). Value
using row and column indexesCELL_A1 = Table.row (0) [0].value cell_a2 = Table.col (1) [0].value
a simple writerow = 0 col = 0 # type 0 empty,1 string, 2 number, 3 date, 4 Boolean, 5 Errorctype = 1 value = ' cell values ' XF = 0 # Extended formatted table . Put_cell (Row, col, CType, value, XF) Table.cell (0,0) #单元格的值 ' Table.cell (0,0). Value #单元格的值 '
Third, demo code
The demo code is simple enough to read the Excel data.
1 #-*-Coding:utf-8-*-
2 Import xdrlib, sys
3 Import Xlrd
4 def open_excel (file= ' File.xls '):
5 Try:
6 data = Xlrd.open_workbook (file)
7 Return Data
8 except Exception,e:
9 Print str (e)
#根据索引获取Excel表格中的数据 parameter: File:excel file path Colnameindex: Table header column name is the row, so, By_index: index of the table
One def excel_table_byindex (file= ' File.xls ', colnameindex=0,by_index=0):
data = Open_excel (file)
Table = Data.sheets () [By_index]
nrows = Table.nrows #行数
Ncols = Table.ncols #列数
Colnames = Table.row_values (colnameindex) #某一行数据
List =[]
RowNum in Range (1,nrows):
19
row = Table.row_values (rownum)
If row:
App = {}
In range (len (colnames)):
[App[colnames[i]] = Row[i]
List.append (APP)
Return list
27
#根据名称获取Excel表格中的数据 Parameters: File:excel file path Colnameindex: Table header column name in the row, so, By_name:sheet1 name
def excel_table_byname (file= ' File.xls ', colnameindex=0,by_name=u ' Sheet1 '):
data = Open_excel (file)
Table = Data.sheet_by_name (by_name)
nrows = Table.nrows #行数
Colnames = Table.row_values (colnameindex) #某一行数据
List =[]
RowNum in Range (1,nrows):
row = Table.row_values (rownum)
PNS If row:
App = {}
A-I in range (len (colnames)):
App[colnames[i]] = Row[i]
List.append (APP)
Return list
43
A. def main ():
tables = Excel_table_byindex ()
Tables for row in:
Print row
48
tables = Excel_table_byname ()
For row in tables:
Print row
52
If __name__== "__main__":
The main ()
Python operations Excel Read-write-using XLRD