在python自动化中,经常会遇到对数据文件的操作,比如添加多名员工,但是直接将员工数据写在python文件中,不但工作量大,要是以后再次遇到类似批量数据操作还会写在python文件中吗?
应对这一问题,可以将数据写excel文件,针对excel文件进行操作,完美解决。
本文仅介绍python对excel的操作
xlrd库官方地址:https://pypi.org/project/xlrd/
pip安装xlrd
笔者在安装时使用了pip3安装xlrd
原因:笔者同时安装了python2和python3
如果皮普的话会默认将库安装到python2中,python3中不能直接调用。
那么到底是使用皮普还是pip3进行安装呢?
-
<李>如果系统中只安装了Python2,那么就只能使用皮普。李>
<李>如果系统中只安装了Python3,那么既可以使用脉冲也可以使用pip3,二者是等价的。李>
<李>如果系统中同时安装了Python2和Python3,则pip默认给Python2用,pip3指定给Python3用。李>
以如下excel文件为例进行操作
文件名为演示,有两个表,名为工作表1和工作表2
工作表1中有如下数据
简单的使用
#=utf - 8编码 进口xlrd #打开文件 data=https://www.yisu.com/zixun/xlrd.open_workbook(“文件/demo.xlsx”) #查看工作表 data.sheet_names () 打印(“表:“+ str (data.sheet_names ())) #通过文件名获得工作表,获取工作表1所示 表=data.sheet_by_name(“工作表1 ') #打印data.sheet_names()可发现,返回的值为一个列表,通过对列表索引操作获得工作表1所示 #表=data.sheet_by_index (0) #获取行数和列数 #行数:table.nrows #列数:table.ncols 打印(“总行数:”+ str (table.nrows)) 打印(“总列数:”+ str (table.ncols)) #获取整行的值和整列的值,返回的结果为数组 #整行值:table.row_values(开始、结束) #整列值:table.col_values(开始、结束) #参数开始为从第几个开始打印, #结束为打印到那个位置结束,默认为没有 打印(“整行值:“+ str (table.row_values (0))) 打印(“整列值:“+ str (table.col_values (1))) #获取某个单元格的值,例如获取B3单元格值 cel_B3=table.cell (3 2) value 打印(“第三行第二列的值:”+ cel_B3)
运行后结果
<强>项目中使用强>
获得所有的数据
#=utf - 8编码 进口xlrd def read_xlrd (excelFile): data=https://www.yisu.com/zixun/xlrd.open_workbook (excelFile) 表=data.sheet_by_index (0) rowNum的范围(table.nrows): rowVale=table.row_values (rowNum) colNum的范围(table.ncols): 如果rowNum> 0和colNum==0: 打印(int (rowVale [0])) 其他: print (rowVale [colNum]) 打印(“- - - - - - - - - - - - - - - - - -”) #如果判断是将id进行格式化 #打印(“未格式化Id的数据:”) #打印(表。电池(1,0)) #结果:数量:1001.0 if __name__==癬_main__”: excelFile='文件/demo.xlsx ' read_xlrd (excelFile=excelFile)
结果
如果在项目中使用则可将内容方法稍为做修改,获得所有的数据后,将每一行数据作为数组进行返回
#=utf - 8编码 进口xlrd def read_xlrd (excelFile): data=https://www.yisu.com/zixun/xlrd.open_workbook (excelFile) 表=data.sheet_by_index (0) 外部=[] rowNum的范围(table.nrows): #如果去掉表头 如果rowNum> 0: dataFile.append (table.row_values (rowNum)) 恢复数据文件 if __name__==癬_main__”: excelFile='文件/demo.xlsx ' print (read_xlrd (excelFile=excelFile)python对Excel的读取的示例代码