介绍

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

(以下属性或方法并非全部,需要更多属性请参看文档;建议先参考文末Demo,再深入了解)https://pypi.org/project/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的编码

简单案例一:

import xlrd
from xlutils import copy

if __name__ == "__main__":
    # id    name    age
    # 1    Python    30
    # 2    Perl    33
    # 3    Ruby    20

    # 打开要读的xls
    rd_book = xlrd.open_workbook('origin.xls')
    # 复制为新的xls
    wt_book = copy.copy(rd_book)
    # 修改新的xls
    wt_sheet = wt_book.get_sheet(0)
    wt_sheet.write(1, 1, 'Python3')

    # 保存修改
    wt_book.save('copy.xls')

    # id    name    age
    # 1    Python3    30
    # 2    Perl    33
    # 3    Ruby    20
示例

相关文章:

  • 2021-09-19
  • 2021-09-27
  • 2021-08-01
  • 2022-12-23
  • 2022-12-23
  • 2021-04-08
  • 2022-12-23
  • 2022-02-24
猜你喜欢
  • 2022-12-23
  • 2021-12-02
  • 2022-12-23
  • 2021-06-21
  • 2021-10-16
  • 2022-12-23
  • 2021-10-28
相关资源
相似解决方案