• Python文件操作(05):Excel操作


    一、sheet相关操作

    1、使用sheetnames 获取execl中所有sheet页的名称

    1. from openpyxl import load_workbook
    2. # 打开excel文件
    3. wb = load_workbook("files/p1.xlsx")
    4. # sheet相关操作
    5. # 1. 获取excel文件中所有sheet页名称
    6. print(wb.sheetnames) # ['数据导出', '用户列表', 'Sheet1', 'Sheet2']

    2、基于sheet页名称,选择sheet页,获取页面中的具体内容

    1. from openpyxl import load_workbook
    2. # 打开excel文件
    3. wb = load_workbook("files/p1.xlsx")
    4. # 基于sheet页名称,获取某一个具体的sheet页
    5. st = wb["数据导出"]
    6. # 输出sheet页中某一行某一列元素的内容
    7. cell = st.cell(2, 3) # 获取第二行第三列的单元格
    8. v1 = cell.value # 取出单元格的值
    9. print(v1)

    3、基于索引位置,选择sheet页,获取页面中的具体内容

    1. from openpyxl import load_workbook
    2. # 打开excel文件
    3. wb = load_workbook("files/p1.xlsx")
    4. # 基于索引位置,获取某一个具体的sheet页
    5. st = wb.worksheets[0]
    6. cell_value = st.cell(2, 3).value
    7. print(cell_value)

    4、循环所有sheet页

    1. from openpyxl import load_workbook
    2. # 打开excel文件
    3. wb = load_workbook("files/p1.xlsx")
    4. # 循环所有sheet,读取每个sheet页第一行第一列内容
    5. # 方法1
    6. for name in wb.sheetnames:
    7. st = wb[name]
    8. cell = st.cell(1, 1)
    9. print(cell.value)
    10. # 方法2
    11. for name in wb.worksheets:
    12. cell = name.cell(1, 1)
    13. print(cell.value)
    14. # 方法3
    15. for name in wb:
    16. cell = name.cell(1, 1)
    17. print(cell.value)

    二、读单元格

    1. 打开文件
    2. 选择sheet页
    3. 获取单元格
    4. 输出单元格内容
    1. from openpyxl import load_workbook
    2. # 打开文件
    3. wb = load_workbook("files/p1.xlsx")
    4. # 选择sheet页
    5. st = wb.worksheets[0]
    6. # 1. 获取第N行第N列的单元格,并输出内容
    7. cell = st.cell(1, 1) # 获取第1行第1列单元格
    8. print(cell.value) # 输出第1行第1列单元格的内容
    9. # 2. 获取第1行所有的单元格
    10. print(st[1]) # 输出的是元组
    11. # 3. 输出第一行所有单元格的内容
    12. for cell in st[1]:
    13. print(cell.value)
    14. # 4. 获取所有行的数据(取某一列数据)
    15. for row in st.rows:
    16. print(row[0].value, row[1].value) # 输出每一行第1列和第2列内容
    17. # 5. 获取所有列的数据(取某一行数据)
    18. for col in st.columns:
    19. print(col[0].value) # 输出每一列第一行内容

    三、改写Execl内容

    1、原Excel基础文件上写内容

    1. from openpyxl import load_workbook
    2. # 打开文件
    3. wb = load_workbook("files/p1.xlsx")
    4. # 选择sheet页
    5. st = wb.worksheets[0]
    6. # 找到单元格
    7. cell = st.cell(1, 1)
    8. # 修改单元格的内容
    9. cell.value = "新的开始"
    10. # 保存文件
    11. wb.save("files/p1.xlsx") # 修改完内容后直接保存Excel文件
    12. # wb.save("files/p2.xlsx") # 将Excel保存到p2.xlsx中

    2、新创建Excel文件写内容

    1. from openpyxl import workbook
    2. # 调用Workbook对象创建Excel
    3. wb = workbook.Workbook() # 默认会创建一个名称为Sheet的sheet页
    4. # 选择sheet页
    5. st = wb.worksheets[0]
    6. # 找到单元格
    7. cell = st.cell(1, 1)
    8. # 将内容写入单元格
    9. cell.value = "开始111"
    10. # 保存文件
    11. wb.save("files/xx.xlsx")

  • 相关阅读:
    使用 PHP、PDO 和 MySQL 的 CRUD 应用程序
    linux安装mysql8.0
    【剑指offer】---数组中的重复数字
    【PID优化】基于花朵授粉算法PID控制器优化设计含Matlab源码
    Spark java.io.NotSerializableException
    【Gitea】 Post “http://localhost:3000/api/internal/hook/pre-receive/aa/bbb“ 异常
    Intel汇编-内联汇编使用宏函数
    普冉PY32系列(九) GPIO模拟和硬件SPI方式驱动无线收发芯片XL2400
    基础课26——业务流程分析方法论
    离散数学 --- 特殊图 --- 偶图与平面图
  • 原文地址:https://blog.csdn.net/qq_23440467/article/details/132873557