Excel文件处理库笔记

Excel文件处理笔记

  1. Excel文件处理需要用到xlrd库和xlwt库,xlrd库用于读取文件,xlwt用于写入文件
    pip install xlrd  # 安装xlrd库
    pip install xlwt  # 安装xlwt库
    
  2. 读取Excel文件
    # 导入库
    import xlrd 
    # 打开工作表
    workbook = xlrd.open_workbook('路径')
    
  3. 获取Sheet
    # 导入库
    import xlrd  
    # 打开表
    workbook = xlrd.open_workbook('Excel名.xlsx/xls')
    # 打印所有的sheet的表名
    sheet = workbook.sheet_names()
    print(sheet_names)
    /
    #根据索引获取sheet
    sheet = workbook.sheet_by_index(0)
    print(sheet.name)
    /
    #根据名称获取sheet
    sheet = workbook.sheet_by_name("表名")
    print(sheet.name)
    /
    #获取所以的sheet对象
    sheets = workbook.sheets()
    for sheet in sheets:
        print(sheet.name)
    /
    #获取这个sheet中的行数和列数
    nrows = sheet.nrows
    ncols = sheet.ncols
    
  4. 获取表行和列的数据

    ncols 表的列数

    nrows 表的行数

    name.cell 表某一单元格内容

    name.row_slice (x,y,z)获取第x行第y列到第z列的数据

    name.col_slice(x,y,z) 获取第x列第y行到第z行的数据

    name.row_values(x,y,z) 获取第x行第y列到第z列的不带数据类型的数据

    name.col_values(x,y,z) 获取第x列第y行到第z行的不带数据类型数据

    cell.ctype 获取数据类型

    用法

    import xlrd   # 导入库
    f = xlrd.open_workbook('工作表.xlsx')
    sheet = f.sheet_by_index(索引)
    lr = sheet.cell(x,y)          # 获取工作表中x行y列的内容
    lr1 = sheet.row_slice(x,y,z)  # 获取第x行第y列到第z列的数据
    print('列数',sheet.ncols)     # 输出表的列数
    print('行数',sheet.nrows)     # 输出表的行数
    print(lr)                     # 输出带有数据类型的lr数据
    print(lr.value)               # 只输出数据
    print(lr1)                    # 输出带数据类型的lr1数据
    for x in lr1:                 #循环
        print(x.value)            #输出不带数据类型的lr1数据
    
  5. 往Excel表内写入内容
    workbook = xlwt.workbook(encoding='utf-8')  #创建一个新工作表,并规定内容
    sheet = workbook.add_sheet('成绩表')   #创建一个成绩表
    sheet.write(x,y,'语文')    #在x行y列写入数据
    for x in range(x,y):      #循环从x列第一行开始直到y行
        for y in range(x,y):  #循环从x行x列开始直到x行y列
            sheet.write(x,y,randint(数据内容))   #写入数据
    wrokbook.save('成绩表.xls')     #保存Excel
    
  6. 写入新成绩表并计算

    name.put_cell 添加新行写入新的内容

    import xlwt,xlrd  #导入库
    import random #循环库
    # 打开工作表
    workbook = xlrd.open_workbook('工作表。xlsx')
    # 索引表
    sy=workbook = workbook.sheet_by_index(0)
    # 往表格内写入内容内容
    sy.put_cell(x,y,数据类型,'写入内容'None)
    #求和
    ncols=sy.ncols  # 获取表格没改变之前的值 保存
    nrows=sy.nrows  # 获取表格没改变之前的值 保存
    for x in range(x,nrows): # 遍历
         lr=sy.row_values(x,y,nrows)
         sy.put_cell(x,y,xlrd.XL_CELL_NUMBER,sum(lr),None)
    # 求平均成绩
    for x in range(1,4):  #遍历
         lr1=sy.col_values(x,1,nrows)
         pj=sum(lr1)/len(lr1)
         sy.put_cell(nrows,x,xlrd.XL_CELL_NUMBER,pj,None)
    # 遍历表格
    for x in range(nrows):
         for y in range(ncols):
             lr3=sy.cell_value(x,y)
             sheed.write(x, y, lr3)
    # 把内容写入新表格
    xbg.save('成绩表3.xls')
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值