安装xlrd
一、Excel读写基本操作
1.导入模块
import xlrd
2.打开excel文件读取数据
data = xlrd.open_workbook(excelPath)
3.使用方法
(1)获取工作表
table = data.sheets()[0] #通过索引顺序获取
table = data.sheet_by_index(0) #通过索引顺序获取、
table = data.sheet_by_name(u'Sheet1') #通过名称获取
(2)获取整行整列的值
table.row_values(i)
table.col_values(i)
(3)获取行数和列数
nrows =table.nrows
ncols= table.ncols
(4)循环获取行列表数据
for i inrange(nrows):print(table.row_values(i))
(5)循环获取行列表数据
cell_A1 =table.cell(0, 0).value
cell_C4= table.cell(3, 2).value#使用行列索引
cell_A1 =table.row(0)[0].value
cell_A2= table.col(1)[0].value
二、代码实例
importxlrddefopen_excel(file):try:
data=xlrd.open_workbook(file)returndataexceptException as e:print(str(e))#根据索引获取Excel表格中的数据 参数:file:Excel文件路径 colnameindex:表头列名所在行的所以 ,by_index:表的索引
def excel_table_byindex(file,colnameindex=0,by_index=0):
data=open_excel(file)
table=data.sheets()[by_index]
nrows= table.nrows #行数
colnames = table.row_values(colnameindex) #某一行数据
list =[]for rownum in range(1,nrows):
row=table.row_values(rownum)ifrow:
app={}for i inrange(len(colnames)):
app[colnames[i]]=row[i]
list.append(app)returnlist#根据名称获取Excel表格中的数据 参数:file:Excel文件路径 colnameindex:表头列名所在行的所以 ,by_name:Sheet1名称
def excel_table_byname(file,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 =[]for rownum in range(1,nrows):
row=table.row_values(rownum)ifrow:
app={}for i inrange(len(colnames)):
app[colnames[i]]=row[i]
list.append(app)returnlistdefmain():
excelPath="F:\\pycharm\\IO\\data.xlsx"tables=excel_table_byindex(excelPath)for row intables:print(row)
tables=excel_table_byname(excelPath)for row intables:print(row)if __name__=="__main__":
main()
输出以下内容:
{'username': 'admin', 'password': 123456.0}
{'username': 'hjh', 'password': 'jpmark961203'}
{'username': 'admin', 'password': 123456.0}
{'username': 'hjh', 'password': 'jpmark961203'}