zoukankan      html  css  js  c++  java
  • python学习笔记(十):操作excel

    一、python操作excel,python操作excel使用xlrd、xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的。这几个模块使用pip安装即可,下面是这几个模块的使用。

     二、xlrd模块,xlrd模块用来读excel,具体用法如下

                import xlrd
                #打开excel
                wb=xlrd.open_workbook('abc.xlsx')#打开的这个excel必须存在,否则会报错
                #获取所有sheet页的名字
                print(wb.sheet_names())
                #按名字查找第二张表单
                # sheet=wb.sheet_by_name('abc2')#根据sheet页的名字获取sheet页
                sheet = wb.sheet_by_index(0)#根据sheet页的索引获取sheet页
                #获取sheet页的行数和列数
                print(sheet.nrows)
                print(sheet.ncols)
                #打印每行信息
                for rownum in range(sheet.nrows):  #循环取每行的数据
                    print(sheet.row_values(rownum))#取每行的数据
                #按照索引打印对应单元格内容
                cell_A2=sheet.cell(0,1).value#获取指定单元格的值,第一个值是列,第二个值是行
                print(cell_A2)

    三、xlwt模块,xlwt模块用来写excel,写一个新的excel

            import xlwt
            title = [
                '姓名','年龄','性别','分数'
            ]
            stus = [['mary',20,'',89.9],['mary',20,'',89.9],['mary',20,'',89.9],['mary',20,'',89.9]]
            #新建一个excel对象
            wbk = xlwt.Workbook()
            #添加一个名为 课程表的sheet页
            sheet = wbk.add_sheet('stu')
            for i in  range(len(title)):#写入表头
                sheet.write(0,i,title[i])#写入每行,第一个值是行,第二个值是列,第三个是写入的值
            for i in range(len(stus)):
                if i !=0:#如果不是表头的话
                    for j in range(4):
                        sheet.write(i,j,stus[i][j])#循环写入每行数据
            #保存数据到‘test.xls’文件中
            wbk.save('szz.xls')#保存excel必须使用后缀名是.xls的,不是能是.xlsx的

    四、xlutils模块xlutils模块用来修改excel的内容,不能直接修改原来的excel内容,必须得先复制一个新的excel,然后对这个新的excel进行修改,用法如下:

            from xlrd import open_workbook#导入xlrd模块中打开excel模块    
            from xlutils.copy import copy#导入xlutils模块的复制excel模块
            rb = open_workbook('szz.xls')
            #通过sheet_by_index()获取的sheet
            rs = rb.sheet_by_index(0)
            #复制一个excel
            wb = copy(rb)
            #通过获取到新的excel里面的sheet页
            ws = wb.get_sheet(0)
            ws.write(1, 0, 'Lily')#写入excel,第一个值是行,第二个值是列
            wb.save('szz_new.xls')#保存新的excel,保存excel必须使用后缀名是.xls的,不是能是.xlsx的
  • 相关阅读:
    洛谷P1880 [NOI1995]石子合并 (区间dp
    洛谷P1012 拼数(水题 字符串
    洛谷P1071 潜伏者(水题
    微信《跳一跳》超高分攻略,轻松排行榜首
    StringUtilsd的isEmpty、isNotEmpty、isBlank、isNotBlank
    java.util.Properties类
    timer.scheduleAtFixedRate和timer.schedule的实验
    schedule() 和 scheduleAtFixedRate() 区别
    session和jsessionid有什么关系
    增加Xss过滤步骤
  • 原文地址:https://www.cnblogs.com/hanzhao1987/p/8215611.html
Copyright © 2011-2022 走看看