zoukankan      html  css  js  c++  java
  • python处理Excel文件的几个模块

    在python中简单地处理excel文件,有几个相关的模块,各有千秋,本文将不定时收录。

    Python Excel网站收集了关于python处理excel文件的各种信息。

    【注意】使用python处理excel文件前,请多备份文件,以防数据丢失。

    ------------------

    0x01 xlrd

    xlrd is a library for reading data and formatting information from Excel files, whether they are .xls or .xlsx files.

    官方文档:https://xlrd.readthedocs.io/en/latest/api.html
    github项目:https://github.com/python-excel/xlrd

    安装:

    pip install xlrd

    使用:
    只能读.xls、.xlsx文件(xlrd0.8.0+版本支持读取xlsx文件)

    import xlrd
    book = xlrd.open_workbook("pcat.xls")
    print("The number of worksheets is {0}".format(book.nsheets))
    print("Worksheet name(s): {0}".format(book.sheet_names()))
    sh = book.sheet_by_index(0)
    print("{0} {1} {2}".format(sh.name, sh.nrows, sh.ncols))
    print("Cell B3 is {0}".format(sh.cell_value(rowx=2, colx=1)))
    for rx in range(sh.nrows):
        print(sh.row(rx))

    0x02 xlwt

    xlwt is a library for writing data and formatting information to older Excel files (ie: .xls)

    官方文档:https://xlwt.readthedocs.io/en/latest/api.html
    github项目:https://github.com/python-excel/xlwt
    安装:

    pip install xlwt

    使用:

    用xlwt创建一个简单的.xls文件

    import xlwt
    from datetime import datetime
    
    style0 = xlwt.easyxf('font: name Times New Roman, color-index red, bold on',
        num_format_str='#,##0.00')
    style1 = xlwt.easyxf(num_format_str='YYYY-MM-DD HH:MM:SS')
    
    wb = xlwt.Workbook()
    ws = wb.add_sheet('A Test Sheet')
    
    ws.write(0, 0, 1234.56, style0)
    ws.write(1, 0, datetime.now(), style1)
    ws.write(2, 0, 1)
    ws.write(2, 1, 1)
    ws.write(2, 2, xlwt.Formula("A3+B3"))
    
    wb.save('example.xls')

    0x03 xlutils

    This package provides a collection of utilities for working with Excel files.
    官方文档:https://xlutils.readthedocs.io/en/latest/api.html
    github项目:https://github.com/python-excel/xlutils

    安装:
    (如果没安装xlrd、xlwt,会自动安装这2个模块)

    pip install xlutils

    使用:

    import xlrd
    import xlwt
    import xlutils
    import xlutils.copy as copy
    
    rdbook = xlrd.open_workbook('first.xls')
    wtbook = copy.copy(rdbook)
    wtsheet = wtbook.get_sheet(0)
    type(wtsheet)
    wtsheet.write(0,0,'pcat.cc')
    wtbook.save('second.xls')

    0x04 openpyxl

    A Python library to read/write Excel 2010 xlsx/xlsm files.
    官方文档:https://openpyxl.readthedocs.io/en/stable/
    安装:

    pip install openpyxl

    使用:
    写xlsx文件

    from openpyxl import Workbook
    wb = Workbook()
    # grab the active worksheet
    ws = wb.active
    # Data can be assigned directly to cells
    ws['A1'] = 42
    # Rows can also be appended
    ws.append([1, 2, 3])
    # Python types will automatically be converted
    import datetime
    ws['A2'] = datetime.datetime.now()
    # Save the file
    wb.save("sample.xlsx")

    读xlsx文件

    from openpyxl import load_workbook
    wb = load_workbook(filename='pcat.xlsx')
    sheet_ranges = wb['Sheet1']
    print(sheet_ranges['A2'].value)

    注意:
    openpyxl不支持.xls格式。
    读写文件前记得多备注,有时候可能有bug。

    0x05 XlsxWriter

    XlsxWriter is a Python module for creating Excel XLSX files.
    官方文档: https://xlsxwriter.readthedocs.io/
    github项目:https://github.com/jmcnamara/XlsxWriter
    安装:

    pip install xlsxwriter

    使用:

    import xlsxwriter
    workbook = xlsxwriter.Workbook('hello_world.xlsx')
    worksheet = workbook.add_worksheet()
    worksheet.write('A1', 'Hello world')
    workbook.close()

    注意:
    XlsxWriter不支持.xls格式。

  • 相关阅读:
    《Apache Velocity用户指南》官方文档
    Mockito教程
    GitHub访问速度慢的解决方法
    使用log4jdbc记录SQL信息
    分环境部署SpringBoot日志logback-spring.xml
    SpringBoot入门之spring-boot-maven-plugin
    swagger报No operations defined in spec!
    delphi 时间
    DELPHI常用类型及定义单元
    delphi 多线程编程
  • 原文地址:https://www.cnblogs.com/pcat/p/11628317.html
Copyright © 2011-2022 走看看