• python 操作excel (openpyxl)


     - 安装

    pip install openpyxl

     - 创建一个新的工作薄

    from openpyxl import Workbook
    
    wb = Workbook()
    
    wb1 = wb.create_sheet("index") # 默认最后一个
    
    wb1 = wb.create_sheet("index",0) # 第一个

     - 保存

    wb1.save('jam.xlsx')

     - 修改工作薄的名称

    wb1.title = "New Title"

     - excel 添加数据

    wb1["A1"] = "jamlee" # 根据索引
    如果尚不存在,则创建一个单元格。值可以直接分配
    
    
    wb1.cell(row=3,column=6,value="干干巴巴") # 根据单元格位置来添加
    # 函数
    
    wb1["A5"] = 4
    wb1["A6"] = 5
    wb1["A7"] = "=sum(A5:A6)"
    # append  可以一次添加多行数据,从第一行空白行开始(下面都是空白行)写入。
    
    row = [1 ,2, 3, 4, 5]
    sheet.append(row)

     - extel 获取数据

    from openpyxl import load_workbook  #导入模块
    wb = load_workbook(filename = 'jam.xlsx') #打开文件,默认可读写,若有需要可以指定write_only和read_only为True
    # 获取所有的工作薄名称
    
    wb.sheetnames
     #找到工作表
    
    sheet = wb['index']
    # 索引
    
    sheet["A2"].value
    
    # 位置
    
    sheet.cell(row=2,column=2).value
    sheet.rows为生成器, 里面是每一行的数据,每一行又由一个tuple包裹。
    sheet.columns类似,不过里面是每个tuple是每一列的单元格。
    
    # 因为按行,所以返回A1, B1, C1这样的顺序
    for row in sheet.rows:
        for cell in row:
            print(cell.value)
    
    # A1, A2, A3这样的顺序
    for column in sheet.columns:
        for cell in column:
            print(cell.value)
    # 获得某行的数据
    
    for cell in list(sheet.rows)[2]:
        print(cell.value)
    # 获取上面sum的单元格注意  (注意Python获取到是None时 需要去excel表实时刷新这样就不会是空了)
    
    如果是读取的时候需要加上data_only=True这样读到A7返回的就是数字,如果不加这个参数,返回的将是公式本身'=sum(A5:A6)' 
  • 相关阅读:
    数组类型
    约瑟夫环问题
    const在c和c++中地位不同
    Makefile学习之路——4
    单链表综合操作
    算法初探——大O表示法
    数据结构实用概念
    Makefile学习之路——3
    翻转字符串
    Makefile学习之路——2
  • 原文地址:https://www.cnblogs.com/lzmdbk/p/10418542.html
Copyright © 2020-2023  润新知