• Python处理Excel


    Python处理Excel

    Python可以很简介的处理数据,又是可以代替excel做一些繁杂的工作。

    Excel有两种格式:
    	XLS是Office 2013或更早版本所使用的格式,是一种二进制格式的文件。XLSX则是用一系列XML文件组成的(最后的X代表了XML)一个压缩包。
    

    1、工具包

    XlsxWriter xlrd&xlwt&xlutils OpenPyXL
    介绍 可以创建和写Excel 2007+ XLSX文件 xlrd、xlwt、xlutils三大模块分别提供读、写和其他功能 可以读、写Excel 2007+ /xlsm/xltx/xltm文件
    修改 ⚠️
    .xls
    .xlsx xlrd: 0.8.0+ √ * xlwt:✘
    大文件
    功能 一般
    速度
    xlsxwriter
    import xlsxwriter as xw
    
    #只能用来创建新的文件,不能修改
    workbook = xw.Workbook('hello.xlsx') # 建立文件
    
    # 建立sheet, 可以work.add_worksheet('employee')来指定sheet名,但中文名会报UnicodeDecodeErro的错误
    worksheet = workbook.add_worksheet('table1') 
    
    worksheet.write('A', 'Hello world') # 向A1写入
    
    workbook.close()
    
    import xlsxwriter as xw
    
    
    
    workbook = xw.Workbook('demo.xlsx')
    worksheet = workbook.add_worksheet()
    
    #设置样式启用
    bold = workbook.add_format({'bold': True})
    
    worksheet.write('A1', 'Hello')
    #设置A2为黑体
    worksheet.write('A2', 'World', bold)
    
    #单元格从0开始
    worksheet.write(2, 0, 123) # 第3行第1列
    worksheet.write(3, 0, 123.456) # 第四行第1列
    #插入图片
    worksheet.insert_image('B5', 't.png')
    workbook.close()
    
    openpyxl
    import openpyxl
    # 读取excel中的数据
    # 第一步:打开工作簿
    wb = openpyxl.load_workbook('cases.xlsx')
    # 第二步:选取表单
    sh = wb['Sheet']
    # 第三步:读取数据
    # 参数 row:行  column:列
    ce = sh.cell(row = 1,column = 1)   # 读取第一行,第一列的数据
    print(ce.value)
    # 按行读取数据 list(sh.rows)
    print(list(sh.rows)[1:])     # 按行读取数据,去掉第一行的表头信息数据
    
    # 关闭工作薄
    wb.close()
    

    2、pandas

    pandas是数据科学相关的包,其他也提供了对多种数据文件的io,也包括excel,能够大规模的进行io,但是底层的驱动还是基于以上的工具包。
    
    #读出ok.xls中的Shell1表,这里使用的是xlrd包作为底层驱动
    data=pd.read_excel('ok.xls','Sheet1')
    print(data)
    
    #写到xlsx文件中
    data.to_excel("demo2.xlsx")
    
    #选择一个驱动
    data=pd.read_excel('cases.xlsx',engine="openpyxl")
    print(data)
    
    
      #读的底层调用
        _engines = {
            "xlrd": _XlrdReader,
            "openpyxl": _OpenpyxlReader,
            "odf": _ODFReader,
            "pyxlsb": _PyxlsbReader,
        }
        
         Supported engines: "xlrd", "openpyxl", "odf", "pyxlsb", default "xlrd".
        Engine compatibility :
        - "xlrd" supports most old/new Excel file formats.
        - "openpyxl" supports newer Excel file formats.
        - "odf" supports OpenDocument file formats (.odf, .ods, .odt).
        - "pyxlsb" supports Binary Excel files.
       
        
      #写的底层调用,根据文件后缀选择驱动
        _default_writers = {
            "xlsx": "openpyxl",
            "xlsm": "openpyxl",
            "xls": "xlwt",
            "ods": "odf",
        }
          xlsxwriter = import_optional_dependency(
            "xlsxwriter", raise_on_missing=False, on_version="warn"
        )
    
  • 相关阅读:
    CTF-pwn-tips-zh_CN
    Linux 内核中 offset_of 和 container_of 宏的实现
    glibc2.26 -- tcache (2)
    glibc2.26 -- tcache (1)
    漏洞复现 -- 条件竞争 -- TOCTOU
    Linux 内核源码分析 -- read
    ospf lsa 4是不可替代的
    MPLS_Lab_3_AToM
    配置多链路捆绑PPP
    OSPF在转换LSA 5时的转发地址抑制 cyrus
  • 原文地址:https://www.cnblogs.com/cgl-dong/p/13914240.html
Copyright © 2020-2023  润新知