• Excel文件的操作


    Excel文件的操作

    excel文件中的元素:

    工作簿:一个excel文件就是一个工作簿
    工作表:一个工作簿可以有多个工作表(至少一个)
    单元格:单元格时excel文件保存数据的基本单位
    行号和列号:可以确定单元格位置的

    用python操作excel文件需要安装第三方库,openpyxl

    Excel读操作

    获取excel文件内容

    1)打开excel文件创建工作簿对象

    openpyxl.open(‘excel文件路径’)
    openpyxl.load_workbook('excel文件路径‘)

    # workbook = openpyxl.open('三国人物数据.xlsx')
    workbook = openpyxl.load_workbook('三国人物数据.xlsx')
    
    • 1
    • 2
    获取工作簿中所有的工作表的表名
    result = workbook.sheetnames
    print(result)  # ['全部人物数据', '三个国家的武力', '三个国家武将的武力', '三国武将数据', '三国文官数据']
    
    • 1
    • 2

    2)获取工作表对象

    工作簿对象.active - 获取活跃表(选中的表)退出之前选中的表叫活跃表
    工作簿对象.[工作簿名称] - 获取指定名字对应的工作表

    sheet1 = workbook.active
    print(sheet1)
    sheet2 = workbook['三国武将数据']
    print(sheet2)
    
    • 1
    • 2
    • 3
    • 4

    3)获取单元格

    工作表对象.cell(行号,列号)

    cell1 = sheet2.cell(8, 1)
    print(cell1)   #
    
    • 1
    • 2

    4)获取单元格内容

    单元格对象.value

    print(cell1.value)   #蔡瑁
    
    • 1

    5)获取最大行号和最大列号(保存了数据的有效行和有效列)

    工作表对象.max_row

    工作表对象.max_column

    print(sheet1.max_row)
    print(sheet1.max_column)
    
    • 1
    • 2

    获取第一列所有数据

    column1 = []
    for i in range(1, sheet2.max_row + 1):
        cell2 = sheet2.cell(i, 1)
        column1.append(cell2.value)
    print(column1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    思路步骤:打开工作簿,选中工作表(工作簿对象[工作表名]),选择单元格(工作表对象.cell),读取单元格(单元格对象.value)

    Excel文件写操作

    注意:不管是以什么样的方式对excel进行写操作,操作完成后必须保存。

    1.新建工作簿

    1)新建工作簿对象

    workbook = openpyxl.Workbook()
    
    • 1

    2)保存

    工作簿对象.save(文件路径)

    workbook.save('files/student.xlsx')
    
    • 1
    实际中新建工作簿的时候需要先判断工作簿对应的文件是否已经存在,存在就不需要新建,不存在才新建
    # 方法一:
    try:
        workbook = openpyxl.open('files/student2.xlsx')
    except FileNotFoundError:
        workbook = openpyxl.Workbook()
        workbook.save('files/student2.xlsx')
    
    # 方法二:
    import os
    # os.path.exists(文件路径)  -  判断指定文件是否存在,存在返回True,不存在返回False
    if os.path.exists('files/student2.xlsx'):
        workbook = openpyxl.open('files/student2.xlsx')
    else:
        workbook = openpyxl.Workbook()
        workbook.save('files/student2.xlsx')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    2.工作表的写操作

    1)新建工作表

    工作簿对象.create_sheet(表名, 下标)

    workbook.create_sheet()
    workbook.create_sheet('Python')
    workbook.create_sheet('Java', 0)
    workbook.save('files/student2.xlsx')
    
    • 1
    • 2
    • 3
    • 4

    实际中的新建表:没有的时候才新建,有的时候直接打开

    if 'Python' in workbook.sheetnames:
        sheet = workbook['Python']
    else:
        sheet = workbook.create_sheet('Python')
        workbook.save('files/student2.xlsx')
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2)删除工作表

    工作簿对象.remove(工作表对象)

    workbook.remove(workbook['Sheet1'])
    workbook.save('files/student2.xlsx')
    
    • 1
    • 2

    3.单元格的写操作

    单元格对象.value = 数据

    java_sheet = workbook['Java']
    java_sheet.cell(1, 3).value = '电话'
    java_sheet.cell(2, 1).value = None
    java_sheet.cell(4, 2).value = 'stu003'
    
    • 1
    • 2
    • 3
    • 4
    workbook.save('files/student2.xlsx')
    
    • 1
  • 相关阅读:
    LeetCode_双指针_中等_633.平方数之和
    Zookeeper三台机器集群搭建
    ZCC5429 异步升压芯片
    使用单调栈来解决的一些问题
    springboot+vue+elementUI 基于Springboot的智慧养老平台#毕业设计
    前端-防止多次点击
    5. 文档的字段映射
    DNS解析流程
    Java————方法重载
    PHP数组的常见操作和常用函数
  • 原文地址:https://blog.csdn.net/ZiXiaoAo/article/details/126278826