Python-openpyxl表格读取写入的案例详解

 更新时间:2020年11月02日 17:09:05   作者:吴正崇  
这篇文章主要介绍了Python-openpyxl表格读取写入的案例分析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

1.为何选择openpyxl模块

xlxd、xlwt、–只能读取,openpyxl、可以读取写入

2.安装

pip install -i https://pypi.douban.com/simple openpyxl==2.6.2

3.处理对象

openpyxl只能处理xlsx格式的excel文件,只能使用办公软件来创建xlsx格式的excel文件,不能使用pycharm来创建
excel对象 -> sheet表单对象 -> cell单元格对象 -> 行和列、值属性
如果excel文件不存在,那么会FileNotFoundError
res = load_workbook(“testcase11.xlsx”)

4.代码案例

from openpyxl import load_workbook
# load_workbook,往往对已存在的excel进行读写操作
class Handle_excel:

  def __init__(self,filename,sheetname = None):
    self.filename = filename
    self.sheetname = sheetname
    
  def read_data(self):
    """
    读取表格数据
    :return:
    """
    wb = load_workbook(self.filename)
    if self.sheetname is None:
      ws = wb.active # active默认读取第一个表单
    else:
      ws = wb[self.sheetname]  # 读取指定表单

    testcase_list = [] # 所有数据信息
    header_list = []  # 表头信息
    for row in range(1,ws.max_row+1):
      one_row_dict = {}  # 每一行数据信息
      for column in range(1,ws.max_column+1):
        one_cell_value = ws.cell(row,column).value # cell方法,获取单元格,返回Cell对象
        if row == 1:
          header_list.append(one_cell_value)
        else:
          key = header_list[column-1]
          one_row_dict[key] = one_cell_value
      if row != 1:
        testcase_list.append(one_row_dict)

    return testcase_list

  def write_data(self, row, column, data):
    """
    写操作
    :param row: 指定在某一行写
    :param column: 指定在某一列写
    :param data: 待写入的数据
    :return:
    """
    # 将数据写入到excel中,不能与读取操作公用一个Workbook对象
    # 如果使用同一个Workbook对象,只能将最后一次写入成功,会出现意想不到的结果
    wb = load_workbook(self.filename)
    if self.sheetname is None:
      ws = wb.active
    else:
      ws = wb[self.sheetname]

    # 第一种写入方式:
    # one_cell = ws.cell(row, column)
    # one_cell.value = data

    # 第二种写入方式:
    ws.cell(row, column, value=data)

    # c.PermissionError: [Errno 13] Permission denied: 'testcase.xlsx'
    # 对exel文件修改之后,要保存,一定要将excel文件关闭
    wb.save(self.filename)


if __name__ == "__main__":
  excel_name =“testcase.xlsx"
  sheet_name = "login"
  do_excel = Handle_excel(excel_name,sheet_name)
  print(do_excel.read_data())
  #do_excel.write_data(3,4,5)

到此这篇关于Python-openpyxl表格读取写入的案例详解的文章就介绍到这了,更多相关Python表格读取写入内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python读取系统文件夹内所有文件并统计数量的方法

    Python读取系统文件夹内所有文件并统计数量的方法

    今天小编就为大家分享一篇Python读取系统文件夹内所有文件并统计数量的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python PIL库读取设置图像的像素内容方法示例

    Python PIL库读取设置图像的像素内容方法示例

    这篇文章主要为大家介绍了使用Python PIL库Image模块中的getpixel和putpixel方法读取设置图像的像素内容实例探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Django3中的自定义用户模型实例详解

    Django3中的自定义用户模型实例详解

    这篇文章主要给大家介绍了关于Django3中自定义用户模型的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Python 超时请求或计算的处理方案

    Python 超时请求或计算的处理方案

    这篇文章主要介绍了Python 超时请求或计算的处理方案,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-06-06
  • 使用Python处理json字符串中的非法双引号问题

    使用Python处理json字符串中的非法双引号问题

    这篇文章主要介绍了使用Python处理json字符串中的非法双引号问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Python3对称加密算法AES、DES3实例详解

    Python3对称加密算法AES、DES3实例详解

    这篇文章主要介绍了Python3对称加密算法AES、DES3,结合实例形式详细分析了对称加密算法AES、DES3相关模块安装、使用技巧与操作注意事项,需要的朋友可以参考下
    2018-12-12
  • Python Pandas对缺失值的处理方法

    Python Pandas对缺失值的处理方法

    这篇文章主要给大家介绍了关于Python Pandas对缺失值的处理方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Python Pandas具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • python通过wxPython打开一个音频文件并播放的方法

    python通过wxPython打开一个音频文件并播放的方法

    这篇文章主要介绍了python通过wxPython打开一个音频文件并播放的方法,实例分析了wxPython操作音频文件的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 基于Python的GUI图形用户界面编程详细讲解

    基于Python的GUI图形用户界面编程详细讲解

    GUI图形用户界面编程,我们可以通过python提供的丰富的组件,快速的实现使用图形的界面和用户交互, GUI编程类似于“搭积⽊”,将⼀个个组件(Widget)放到窗⼝中,这篇文章主要给大家介绍了基于Python的GUI图形用户界面编程的相关资料,需要的朋友可以参考下
    2022-12-12
  • 对于Python中线程问题的简单讲解

    对于Python中线程问题的简单讲解

    这篇文章主要介绍了对于Python中线程问题的简单讲解,线程一直是Python编程当中的热点问题,而本文没有涉及GIL线程锁方面的内容,需要的朋友可以参考下
    2015-04-04

最新评论