zoukankan      html  css  js  c++  java
  • xlrd xlwt操作

    简介


    xlrd,xlwt和xlutils是用Python处理Excel文档(*.xls)的高效率工具。其中,xlrd只能读取xls,xlwt只能新建xls(不可以修改),xlutils能将xlrd.Book转为xlwt.Workbook,从而得以在现有xls的基础上修改数据,并创建一个新的xls,实现修改。

    (以下属性或方法并非全部,需要更多属性请参看文档;建议先参考文末Demo,再深入了解)

    xlrd


    Book(class) 由xlrd.open_work("example.xls")返回

    nsheets: sheets数
    sheet_names: sheet名称列表
    sheets: sheet列表
    sheet_by_index(sheetx): 按序号提取sheet
    sheet_by_name(sheet_name): 按名称提取sheet

    Sheet(class) 由Book object相关方法返回

    name:                         sheet名
    nrows: 行数
    ncols: 列数
    cell(rowx,colx): 第rows行colx列的单元格
    cell_type(rowx,colx): 数据类型
    cell_value(rows,colx): 数值
    col(colx): 第colx列所有单元格组成的列表
    col_slice(colx,start_rowx=0,end_rowx=None): 第colx列指定单元格组成的列表
    col_types(colx,start_rowx=0,end_rowx=None): 第colx列指定单元格数值类型组成的列表
    col_values(colx,start_rowx=0,end_rowx=None): 第colx列指定单元格数值组成的列表
    row同样有col的各项操作,此处略去

    Cell(class) 由Sheet object(s)相关方法返回

    ctype: 一个int型变量,对应不同的数值类型
    value: 单元格的值

    xlwt


    Workbook(class) 由xlwt.Workbook()返回

    encoding: 编码方案
    add_sheet(sheet_name): 添加sheet
    get_sheet(Sheet_name): 选择sheet
    save(file_name): 保存

    Worksheet(class) 由Workbook object相关方法返回

    write(rows,colx,cell_value,style): 编辑单元格
    row(rowx).write(colx,cell_value,style): 编辑行
    flush_row_data(): 减少内存压力,flush之前行不可再修改
    col(colx),write(rows,cell_value,style): 编辑列

    easyxf(function) 创建XFStyle instance,格式控制

    expression syntax: (<element>:(<attribute> <value>,)+;)+
    <element> - <attribute> - <value>:
    (加粗为默认格式,以下所列并非全部)
    font - bold - True or False
    - colour - {colour}
    - italic - True or False
    - name - name of the font, Arial
    - underline - True or False

    alignment - direction - general, lr, rl
    - horizontal - general, left, center, right, filled 
    - vertical - bottom, top, center, justified, distributed
    - shrink_to_fit - True or False

    bolders - left - an integer width between 0 and 13
    - right - an integer width between 0 and 13
    - top - an integer width between 0 and 13
    - bottom - an integer width between 0 and 13
    - diag - an integer width between 0 and 13
    - left_colour - {colour}*, automatic colour
    - right_colour - {colour}*, automatic colour
    - ...

    pattern - back_color - {colour}*, automatic colour
    - fore_colour - {colour}*, automatic colour
    - pattern - none, solid, fine_dots, sparse_dots

    {colous}*: black, (dark_)(light_)blue, gold, (dark_)(light_)green, ivory, lavender,

    (light_)orange, pink, (dark_)red, rose, violet, white, (dark_)(light_)yellow, ...

    xlutils


    copy: 将xlrd.Book转为xlwt.Workbook
    styles: 读取xlrd.Workbook的每一个单元格的style
    display: 简单而安全地呈现xlrd读取的数据
    filter: 拆分与整合多个xls文件
    margins: 查看表格稀疏程度
    save: 序列化xlrd.Book,转存为binary xls或stream

    Tips


    1. xlrd.open_workbook(fomatting_info=):当formatting_info=Ture,读取workbook并保留格式

    2. xlrd.open_workbook(on_demand=): 当on_demand=True,只有被要求时才将worksheet载入内存,读取大文件时使用

    3. xlwt.Worksheet.flush_row_data(): 减少内存占用,被刷新的行不能再访问或修改,建议每1000行刷新一次(若列很多当调整)

    4. xlwt.Workbook(encoding=): 选择创建的workbook的编码

    Demo


    Reference


    1. The xlrd Module

    2. The xlwt Module

    3. Working with Excel files in Python






  • 相关阅读:
    Codeforces Round 49 C-Minimum Value Rectangle(最小面积周长比)
    牛客网暑假训练第五场——F take(树状数组求概率期望)
    牛客网暑假训练第九场——F-Typing practice(多串并行 优化KMP详解)
    POJ
    牛客网暑假训练第九场——E Music Game(概率期望)
    2018 ACM 国际大学生程序设计竞赛上海大都会赛——J Beautiful Numbers(数位DP)
    牛客网暑假训练第五场——A gpa(01分数规划)
    POJ
    UPC-6623 MUL(最大权闭合子图)
    HDU-6380 degree(图论&并查集)
  • 原文地址:https://www.cnblogs.com/wuqingzangyue/p/5770104.html
Copyright © 2011-2022 走看看