• python 操作exls学习之路1-openpyxl库学习


         这篇要讲到的就是如何利用Python与openpyxl结合来处理xlsx表格数据。Python处理表格的库有很多,这里的openpyxl就是其中之一,但是它是处理excel2007/2010的格式,也就是xlsx系列,如果要处理以前的2003的表格(xls),那么则要用另外的库。如果只是要进行表格数据读取和进行简单的写数据的话,推荐使用openpyxl。下篇会介绍到另外一个操作表格文档的库,叫做xlsxwriter,这是一个专门写表格的库,在写数据和进行表格画图方面比较强大(不能读取和修改表格),因为这次分析数据最后需要进行绘图展示(openpyxl虽然也能作图,但是功能有限),所以也会用到这个库。

    openpyxl库学习

    1、wb = Workbook()

    2、获取sheet工作区间

    1)# 激活worksheet,得到一个worksheet,默认得到sheet1
            ws = wb.active

    2)#命名sisilast格式,插入到最后
            ws2 = wb.create_sheet("sisilast")

    3)#命名sisilast格式,插入到最开始的位置
            ws3 = wb.create_sheet("sisifrist",0)

    3、给指定单元格赋值

    1)直接写数据到指定的单元格中

     >>>ws['A1'] = 100

    2)使用openpyxl.worksheet.Worksheet.cell()方法操作某行某列的某个值:

    >>> ws.cell(row=6,column=5,value='kaixin')

    注意:

    1. 当worksheet在内存中被创建时,是没有包含cells的,cells是在首次访问时创建.
    2. 可以循环在内存中创建cells,这时不指定他们的值也会创建该cells些:(创建8x8cells)

    >>> for i in range(1,9):
                 for j in range(1,9):
                      ws.cell(row=i,column=j,value=i*j)

            3.也可以使用 openpyxl.worksheet.Worksheet.iter_rows() 方法:(需要指定行->行,截止列)

           4.也可以使用 openpyxl.worksheet.Worksheet.iter_cols() 方法:(需要指定列->列,截止行)

           5.如果你需要遍历所有文件的行或列,可以使用openpyxl.worksheet.Worksheet.rows() 属性:>>>tuple(ws.rows)

           or openpyxl.worksheet.Worksheet.columns() 属性:>>>tuple(ws.columns)

    4、# 附加一行,从第一列开始附加
            ws.append([1,2,3])

    5、#保存文件到指定位置
            wb.save("D:/test/test.xlsx")

    6、修改sheet名称

    创建的sheet的名称会自动创建,按照sheet,sheet1,sheet2自动增长,通过title属性可以修改其名称。

    >>> from openpyxl import Workbook

    >>> wb = Workbook()
    >>> ws = wb.create_sheet("haha")
    >>> ws.title = "heihei"
    >>> wb.save("D:/test/heihei.xlsx")

    7、查看workbook中的所有worksheets名称:openpyxl.workbook.Workbook.get_sheet_names()

    >>> print(wb.sheetnames)
    ['Sheet', 'heihei']

    8、直接访问单元格

    >>> value1 = ws['A3']

    9、openpyxl.load_workbook()已经存在的workbook:

    10、使用公式

  • 相关阅读:
    YCSB测试Mysql,MongoDB,TokuMX,Couchbase性能
    使用FIO对SATA、SSD和PCIe Flash进行测试
    使用jenkins实现持续集成
    linux服务器性能(网卡流量、CPU、内存、磁盘使用率)监控
    Linux下Hadoop2.7.1集群环境的搭建(超详细版)
    10分钟学会js处理json常用方法
    springboot:Java模板引擎Thymeleaf介绍
    springboot使用遇到问题:Class “model.Address” is listed in the persistence.xml file but not mapped
    eclipse4.6.1安装SpringSource Tool Suite(sts-eclipse)插件
    由一条sql语句想到的子查询优化
  • 原文地址:https://www.cnblogs.com/wensiyang0916/p/6117796.html
Copyright © 2020-2023  润新知