栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python对excel读写操作-openpyxl的使用

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python对excel读写操作-openpyxl的使用

python对excel读写操作
      • 基本概念
      • openpyxl的使用
        • 安装与导入
        • openpyxl的基本操作
        • 创建excel的操作类

使用openpyxl读取excel文件

基本概念
  • workbook 相当于一个 Excel 文件档,每个被创建和打开的 Excel 文件都是独立的 Workbook 对象,简单的说就是一个excel文件
  • sheet Excel 文档中的表单,每个 Excel 文档至少需要一个 sheet,每个excel文件可以创建多个sheet页,打开excel看左下角,默认是 Sheet 1
  • cell 单元格,是不可分割的基本数据存储单元
openpyxl的使用 安装与导入
pip install openpyxl
import openpyxl
openpyxl的基本操作
import openpyxl


def test_excel():
    # 获取工作博
    book = openpyxl.load_workbook('./test.xlsx')

    # 读取当前活跃的工作表
    # sheet = book.active

    # 读取表名 Sheet1 的工作表
    sheet = book["Sheet1"]

    # 读取单个单元格
    cell_a1 = sheet['A1']
    cell_a3 = sheet.cell(column=1, row=3)

    # 读取连续单元格
    cells = sheet["A1":"C3"]

    print("------------")
    # 获取单元格的值
    for row in cells:  # 获取每一行的数据
        for cell in row:  # 获取每一行中每一个单元格的数据
            print(cell.value, end=" ")
        print()

    print("==========")
    # 按行读取
    for row in sheet.rows:
        print([cell.value for cell in row]) # 列表推导式

    print("***********")
    data = []
    # 读取其中的数据
    for row in sheet.rows: # 按行读取
        data.append([cell.value for cell in row]) # 列表推导式,并添加到data列表中

    print(data)

输出

------------
a1 b1 c1 
a2 b2 c2 
a3 b3 c3 
==========
['a1', 'b1', 'c1']
['a2', 'b2', 'c2']
['a3', 'b3', 'c3']
***********
[['a1', 'b1', 'c1'], ['a2', 'b2', 'c2'], ['a3', 'b3', 'c3']]
PASSED
创建excel的操作类
import openpyxl


class Excel():
    """
    实现对excel的操作类
    """

    @classmethod
    def read(cls, workbook_name='./test.xlsx', sheet_name='Sheet1'):
        """
        对excel进行读取操作
        :param workbook_name: excel工作簿的名字,包含所在的路径如'./test.xlsx'
        :param sheet_name:需要读取的sheet表名
        :return:返回每一行读取数据的列表,如[[1,2,3],[4,5,6]]
        """
        workbook = openpyxl.load_workbook(workbook_name)  # 打开工作簿
        sheet = workbook[sheet_name]  # 打开sheet表
        data = []  # 创建空列表,用于存储需要返回的数据
        for row in sheet.rows:  # 按行读取数据
            data.append([cell.value for cell in row]) # 列表推导式,将每一行的数据,并将每一行的数据加到data中

        return data


if __name__ == '__main__':
    print(Excel.read('../test/test.xlsx', 'Sheet1'))
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1019019.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号