操作excel
python操作excel,python操作excel使用xlrd、xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的。这几个模块使用pip安装即可,下面是这几个模块的使用。
一、写excel
xlrd模块用来读excel,具体用法如下:
1、基本方法:如果写多行excle需要写很多行代码
1 import xlwt #写excel 2 import xlrd #读excel 3 import xlutils #修改excel 4 book = xlwt.Workbook() #新建一个空白excle 5 sheet = book.add_sheet('sheet') #加个sheet页 6 sheet.write(0,0,'id') #指定行和列写内容。第一行第一列 7 sheet.write(0,1,'username') #单元格写东西,第一行第二列 8 sheet.write(0,2,'password') #单元格写东西,第一行第一列 9 10 sheet.write(1,0,'1') #第二行第一列 11 sheet.write(1,1,'admin') #第二行第二列 12 sheet.write(1,2,'123456') #第二行第三列 13 14 book.save('stu.xls') #保存并命名,用.xls结尾,不要用.xlsx结尾,因为用word打不开
2、循环写excle
1 import xlwt #写excel 2 import xlrd #读excel 3 import xlutils #修改excel 4 book = xlwt.Workbook() #新建一个空白excle 5 sheet = book.add_sheet('sheet') #加个sheet页 6 7 stus = [ #二维数组 8 [1,'njf','1234'], 9 [2,'xiaojun','1234'], 10 [3,'hailong','1234'], 11 [5,'xiaohei','1234'], 12 [6,'xiaohei','1234'], 13 [7,'xiaohei','1234'], 14 [8,'xiaohei','1234'], 15 [9,'xiaohei','1234'], 16 [10,'xiaohei','1234'], 17 ] 18 row = 0 #控制行 19 for line in stus: 20 colum = 0 # 控制列 21 for s in line: 22 sheet.write(row,colum,s) 23 colum += 1 24 row += 1 25 book.save('stu.xls') #保存并命名,用.xls结尾
二、读excel
xlrd模块用来读excel,具体用法如下:
#文件位置
ExcelFile=xlrd.open_workbook(r'C:\Users\Administrator\Desktop\TestData.xlsx')
1 import xlwt #写excel 2 import xlrd #读excel 3 import xlutils #修改excel 4 book = xlrd.open_workbook('stu.xls') 5 # book.sheet_by_name('sheet1')#根据sheet页的名字获取sheet页 6 sheet = book.sheet_by_index(0) #根据编号获取sheet页 0代表第一个sheet页 7 print(sheet.nrows)#excel里面有多少行 8 print(sheet.ncols)#excel里面有多少列 9 10 print(sheet.cell(0,0).value) #获取指定单元格内容,第一行第一个列的值 11 print(sheet.cell(0,1).value) #获取指定单元格内容,第一行第二个列的值 12 13 print(sheet.row_values(0)) #获取整行的内容,第一行,返回列表 14 print(sheet.col_values(0)) #获取整列的内容,第一列,返回列表
循环获取每行内容
1 for i in range(sheet.nrows): #循环获取每行的内容 2 print(sheet.row_values(i))
三、修改excle
xlutils模块用来修改excel的内容,不能直接修改原来的excel内容,必须得先复制一个新的excel,然后对这个新的excel进行修改,用法如下:
先复制excle,再写入复制的excle的sheet页,保存,修改完成
1 import xlrd #读excel 2 # import xlutils #修改excel 3 from xlutils import copy #用这个 4 book = xlrd.open_workbook('stu.xls') #先用xlrd打开一个excle 5 new_book = copy.copy(book)#然后用xlutils里面的copy功能,复制一个excle 6 7 sheet = new_book.get_sheet(0) #用这个方法获取sheet页,参数代表第几个sheet页,xlutils里面只能用get_sheet()方法 8 sheet.write(0,1,'AA') #修改第一行第二列的值,就是写入复制的excle里 9 sheet.write(1,1,'BB') #修改第二行第二列的值 10 new_book.save('stu.xls') #保存一下复制的excle,也就修改成功了