• 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")

  • 相关阅读:
    IDEA 新建 JavaWeb 项目(:找不到 Web Application 解决方法)
    完整数字华容道05:游戏结束
    NLP 类问题建模方案探索实践
    如何录制视频?有了这款视频录制软件,粉丝多了,转发量也起来了
    [重庆思庄每日技术分享]-ORACLE 12C 新功能 max_idle_time
    13、【创业必备企业架构,可开发任意项目】SpringCloud大型企业分布式微服务云架构源码之MySQL 分组
    分库分表---理论
    部署应用链太费心?Tanssi 教你轻松开发部署
    微积分 - 对数函数与指数函数的导数
    【C++】一文解析std::binary_function、std::bind1st、std::bind2nd、std::bind
  • 原文地址:https://blog.csdn.net/qq_23440467/article/details/132873557