zoukankan      html  css  js  c++  java
  • 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)' 
  • 相关阅读:
    Feature的开发和部署
    MOSS 2007应用如何修改上传文件大小及类型的限制
    学习Ajax的优秀网站
    Office SharePoint 权限开发
    Asp.net操作Excel汇总
    如何取到MOSS列表中item的链接
    解决MOSS、SharePoint的未知错误
    Ajax 之 XMLHttpRequest
    C#中从资源文件里加载文件
    linux 技巧:使用 screen 管理你的远程会话 [linux]
  • 原文地址:https://www.cnblogs.com/lzmdbk/p/10418542.html
Copyright © 2011-2022 走看看