• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Python3利用openpyxl读写Excel文件的方法实例

    前言

    Python中常用的操作Excel的三方包有xlrd,xlwt和openpyxl等,xlrd支持读取.xls和.xlsx格式的Excel文件,只支持读取,不支持写入。xlwt只支持写入.xls格式的文件,不支持读取。

    openpyxl不支持.xls格式,但是支持.xlsx格式的读取写入,并且支持写入公式等。

    原始数据文件apis.xlsx内容:

    name method url data json result
    get接口 get https://httpbin.org/get?a=1b=2
    post表单接口 post https://httpbin.org/post {name: Kevin,age:1}
    post-json接口 post https://httpbin.org/post {name: Kevin,age: 21}

    读取数据

    读取所有数据

    import openpyxl
    
    # 打开excel
    excel = openpyxl.load_workbook('apis.xlsx') # 有路径应带上路径
    # 使用指定工作表
    sheet = excel.active # 当前激活的工作表
    # sheet = excel.get_sheet_by_name('Sheet1')
    # 读取所有数据
    print(list(sheet.values)) # sheet.values 生成器
    print(sheet.max_column) # 最大列数
    print(sheet.max_row) # 最大行数

    显示结果:

    [('name', 'method', 'url', 'headers', 'data', 'json', 'result'), ('get接口', 'get', 'https://httpbin.org/get?a=1b=2', None, None, None, None), ('post表单接口', 'post', 'https://httpbin.org/post', 'cookie: token=123', '{name: Kevin,age: 21}', None, None), ('post-json接口', 'post', 'https://httpbin.org/post', None, None, '{name: Kevin,age: 21}', None)]
    7
    4

    按行读取

    代码接上例

     ...
    # 按行读取
    for row in sheet.iter_rows(min_row=1, min_col=1, max_col=3, max_row=3): 
     print(row)
    # 读取标题行
    for row in sheet.iter_rows(max_row=1):
     title_row = [cell.value for cell in row]
    print(title_row)
    # 读取标题行以外数据
    for row in sheet.iter_rows(min_row=2):
     row_data = [cell.value for cell in row]
     print(row_data)

    打印结果:

    (Cell 'Sheet1'.A1>, Cell 'Sheet1'.B1>, Cell 'Sheet1'.C1>)
    (Cell 'Sheet1'.A2>, Cell 'Sheet1'.B2>, Cell 'Sheet1'.C2>)
    (Cell 'Sheet1'.A3>, Cell 'Sheet1'.B3>, Cell 'Sheet1'.C3>)
    ['name', 'method', 'url', 'headers', 'data', 'json', 'result']
    ['get接口', 'get', 'https://httpbin.org/get?a=1b=2', None, None, None, None]
    ['post表单接口', 'post', 'https://httpbin.org/post', 'cookie: token=123', '{name: Kevin,age: 21}', None, None]
    ['post-json接口', 'post', 'https://httpbin.org/post', None, None, '{name: Kevin,age: 21}', None]

    读取单元格数据

    代码接上例

    ...
    # 读取单元格数据
    print(sheet['A1'].value)
    print(sheet.cell(1,1).value) # 索引从1开始

    打印结果:

    name
    name

    写入文件

    代码接上例

    # 写入单元格
    sheet['F2'] = 'PASS'
    result_col = title_row.index('result')+1 # 'result'所在的列号
    sheet.cell(3, result_col).value = 'PASS'
    # 整行写入
    new_row = ['post-xml接口', 'post', 'https://httpbin.org/post']
    sheet.append(new_row)
    # 保存文件,也可覆盖原文件
    excel.save("apis2.xlsx")

    写入结果:

    name method url data json result
    get接口 get https://httpbin.org/get?a=1b=2 PASS
    post表单接口 post https://httpbin.org/post {name: Kevin,age:1} PASS
    post-json接口 post https://httpbin.org/post {name: Kevin,age: 21}
    post-xml接口 post https://httpbin.org/post

    更多操作可参考官方文档: https://openpyxl.readthedocs.io/en/stable/

    总结

    到此这篇关于Python3利用openpyxl读写Excel文件的文章就介绍到这了,更多相关Python3用openpyxl读写Excel文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • 如何用python合并多个excel文件
    • python合并多个excel文件的示例
    • 使用python将多个excel文件合并到同一个文件的方法
    • 使用Python横向合并excel文件的实例
    • Python批量合并有合并单元格的Excel文件详解
    • Python将多个excel文件合并为一个文件
    • 使用Python快速打开一个百万行级别的超大Excel文件的方法
    • 浅谈Python xlwings 读取Excel文件的正确姿势
    • 基于Python的接口自动化读写excel文件的方法
    • python基于openpyxl生成excel文件
    • Python xlrd/xlwt 创建excel文件及常用操作
    • 教你用Python代码实现合并excel文件
    上一篇:python之openpyxl模块的安装和基本用法(excel管理)
    下一篇:python中操作文件的模块的方法总结
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python3利用openpyxl读写Excel文件的方法实例 Python3,利用,openpyxl,读写,