zoukankan      html  css  js  c++  java
  • python读写excel

    Python操作excel表,需要用到两个库:xlrd和xlwt

    1、获取excel表Book对象实例:

      book = xlrd.open_workbook(filepath)

    2、获取excel的Sheet对象

      sheet_nums = book.nsheets    获取Sheet对象个数

      sheet = book.sheet_by_index(index) 下标从0开始

      sheet = book.sheet_by_name(name) 根据sheet的名字找到对应的Sheet对象

      sheets = book.sheets()        获取所有的Sheet对象列表

      sheets_name = book.sheet_names()  返回所有Sheet的名字列表

    3、Sheet对象属性及方法简介:

      cell = sheet.cell(rowIndex,colIndex)  # 返回指定单元格

      sheet.cell_type(rowIndex,colIndex)  #返回指定单元格的类型 等同于 cell.ctype,excel中对应的单元格类型如下: 

        XL_CELL_BLANK = 6  # 空(这种情况目前没有测试出来,不知道什么时候会出现这种情况)
        XL_CELL_BOOLEAN = 4 # 布尔
        XL_CELL_DATE = 3    # 日期
        XL_CELL_EMPTY = 0    # 空 (测试了下,当单元格不输入任何内容时为empty,输入空格,会当成text类型处理)
        XL_CELL_ERROR = 5   # 错误
        XL_CELL_NUMBER = 2   # 数字
        XL_CELL_TEXT = 1    # 字符串

      sheet.cell_value(rowIndex,colIndex)     # 返回指定单元格的值 等同于 cell.value

      sheet.col(colIndex)  # 返回指定列单元格信息列表

      sheet.col_slice(colIndex, start_rowIndex, end_rowIndex)  # 返回指定列中指定行对应的单元格信息列表

      sheet.col_types(colIndex, start_rowIndex, end_rowIndex) # 返回指定列中指定行对应的单元格的类型列表

      sheet.col_values(colIndex, start_rowIndex, end_rowIndex) # 返回指定行中指定列对应的单元格的值列表

      sheet.get_rows()  # 返回一个行的生成器对象

      sheet.row(rowIndex)  # 返回指定行单元格信息列表

      sheet.row_len(rowIndex)  #返回指定行单元格数量

      sheet.row_slice(rowIndex, start_colIndex, end_colIndex)  # 返回指定行中指定列对应的单元格信息列表

      sheet.row_types(rowIndex, start_colIndex, end_colIndex)  # 返回指定行中指定列对应单元格类型

      sheet.row_values(rowIndex, start_colIndex, end_colIndex)  # 返回指定行中指定列对应的单元格值列表

      sheet.put_cell(rowIndex, colIndex,type,text,xf_index)  #行号,列号,单元格类型,单元格值,xf_index: 字体,对齐,一般设置为None即可

      sheet.nrows  # nrows属性 返回总行数

      sheet.ncols  # ncols 属性 返回总行数

    4、调用xlwt的Sheet的write函数,写入新的excel文件

      wbook = xlwt.Workbook()

      wsheet = wbook.add_sheet(sheet_name)

      style = xlwt.easyxf("align:vertical center, horizontal center")

      for r in range(sheet.nrows):

        for c in range(sheet.ncols):

          wsheet.write(r,c, sheet.cell_value(r,c),style)

      wbook.save(newFile)

      

  • 相关阅读:
    原来 是 需要的,
    传说中的 拉伸,
    date + 排序,
    两个 header,
    招财铃,负责模块,
    一个字母,
    一个词,
    vue+webpack静态资源路径引用
    Webstorm 的 Tab 键调整缩进值
    ES6常用语法
  • 原文地址:https://www.cnblogs.com/fiona-zhong/p/9915416.html
Copyright © 2011-2022 走看看