• 操作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:UsersAdministratorDesktopTestData.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,也就修改成功了
  • 相关阅读:
    将在线图片转换成base64踩坑记录及静态资源跨域及缓存的处理
    MySQL大表拆分多个表的方式(横向拆分和纵向拆分)及如何解决跨表查询效率问题
    electron-vue项目打包踩坑指南
    如何在npm上发布vue插件
    MVC之前的那点事儿系列(9):MVC如何在Pipeline中接管请求的?
    MVC之前的那点事儿系列(8):UrlRouting的理解
    MVC之前的那点事儿系列(7):WebActivator的实现原理详解
    MVC之前的那点事儿系列(6):动态注册HttpModule
    MVC之前的那点事儿系列(5):Http Pipeline详细分析(下)
    MVC之前的那点事儿系列(4):Http Pipeline详细分析(上)
  • 原文地址:https://www.cnblogs.com/once-again/p/9736198.html
Copyright © 2020-2023  润新知