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')

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

  • 相关阅读:
    apache安全—用户访问控制
    hdu 3232 Crossing Rivers 过河(数学期望)
    HDU 5418 Victor and World (可重复走的TSP问题,状压dp)
    UVA 11020 Efficient Solutions (BST,Splay树)
    UVA 11922 Permutation Transformer (Splay树)
    HYSBZ 1208 宠物收养所 (Splay树)
    HYSBZ 1503 郁闷的出纳员 (Splay树)
    HDU 5416 CRB and Tree (技巧)
    HDU 5414 CRB and String (字符串,模拟)
    HDU 5410 CRB and His Birthday (01背包,完全背包,混合)
  • 原文地址:https://www.cnblogs.com/smilecindy/p/13783141.html
Copyright © 2011-2022 走看看