zoukankan      html  css  js  c++  java
  • python解析.xls/.xlsx文件--openpyxl模块(第三方)

    第一part:Excel文件的介绍


     Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。

    excel文档的基本定义
    工作薄(workbook)
    工作表(sheet)
    活动表(active sheet)
    行(row): 1,2,3,4,5,6……..
    列(column): A,B,C,D……..
    单元格(cell): B1, C1


     第二part:Python安装excel相关模块


     python对于Excel表格操作的模块有很多种:

    xlrd:对xls、xlsx、xlsm文件进行读操作–读操作效率较高,推荐
    xlwt:对xls文件进行写操作–写操作效率较高,但是不能执行xlsx文件
    openpyxl:对xlsx、xlsm文件进行读、写操作–xlsx写操作推荐使用


     第三part:使用Openpyxl读取excel 文件数据


     1.openpyxl模块的安装,安装方式有两种:直接通过dos命令行:pip  install openpyxl;或者直接在pycharm中的settings--project---project interpreter中搜索openpyxl模块直接安装即可

    2.简单读取excel中的数据

    1)excel中的数据:

     2)读取excel的代码:

    #导包
    import openpyxl
    #1.打开一个excel文件,实列化一个对象:工作薄
    wb=openpyxl.load_workbook('data5.xlsx')
    print("所有的sheets",wb.sheetnames)
    print("正在使用的sheet",wb.active)

    #2.选择需要使用的sheet
    sheet=wb['Sheet1']
    print("sheet的名称为:",sheet.title)

    #3.读取sheet中指定单元格的数据
    cell=sheet['B1']
    #cell的值为对象
    print("输出单元格为:",cell)
    print("单元格对应的行为:",cell.row)
    print("单元格对应的列为:",cell.column)
    print("单元格对应的值为:",cell.value)

    #4.读取指定行指定列的单元格的数据
    cell_obejct=sheet.cell(row=3,column=2)
    cell_value=cell_obejct.value
    print("第三行第二列单元格的数据为:",cell_value)

    #5.获取sheet中最大的行与列
    print("Sheet1中最大的行数为:",sheet.max_row)
    print("Sheet1中最大的列数为:",sheet.max_column)

    #6.读取整个sheet中的数据
    print(sheet.rows)
    #返回一个生成器,返回每一行的内容
    for row in sheet.rows:#遍历每一行
    for cell in row:#遍历每一行的单元格
    print(cell.value,end=',')
    print()


    执行结果,如下:


     第四part:写入数据到excel文件中


     写入代码如下:

    import openpyxl
    wb=openpyxl.load_workbook('data5.xlsx')
    sheet=wb['Sheet1']
    #指定单元格赋值
    sheet['C1']="操作步骤"
    #通过单元格的行与列进行赋值
    sheet.cell(row = 1,column=4,value="请求参数")
    #保存excel
    wb.save('data5.xlsx')

    执行成功之后,效果如下:

  • 相关阅读:
    模板方法模式
    Centos 6.4 python 2.6 升级到 2.7
    Python 在Visual studio 中做单元测试进行TDD开发
    C# 代码转换到Python
    VMware Network Adapter VMnet1和VMnet8 未识别的网络的解决方法
    Visual Studio 启动加速
    查询Sqlserver 表结构信息 SQL
    HTTP发送请求模拟
    【Xamarin 开发 IOS --使用 Storyboard Segue 实作 UIViewController 的切换 (实例)】
    【Xamarin 开发 IOS --IOS 页面导航概念Segue】
  • 原文地址:https://www.cnblogs.com/smilecindy/p/13783141.html
Copyright © 2011-2022 走看看