zoukankan      html  css  js  c++  java
  • 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"
        )
    
  • 相关阅读:
    解决xcode5升级后,Undefined symbols for architecture arm64:问题
    第8章 Foundation Kit介绍
    app 之间发送文件 ios
    iphone怎么检测屏幕是否被点亮 (用UIApplication的Delegate)
    CRM下载对象一直处于Wait状态的原因
    错误消息Customer classification does not exist when downloading
    How to resolve error message Distribution channel is not allowed for sales
    ABAP CCDEF, CCIMP, CCMAC, CCAU, CMXXX这些东东是什么鬼
    有了Debug权限就能干坏事?小心了,你的一举一动尽在系统监控中
    SAP GUI和Windows注册表
  • 原文地址:https://www.cnblogs.com/cgl-dong/p/13914240.html
Copyright © 2011-2022 走看看