zoukankan      html  css  js  c++  java
  • python之openpyxl介绍(读写excel)

    读写excel比较方便。并且支持xlsx格式的处理。网上也存在一些这方面的介绍,但是版本更新了多次,部分内容不适用

    版本:openpyxl 2.5.1

    1. 读: 方法:获取工作簿:openpyxl.load_workbook("20181.xlsx")

    获取工作薄的工作表,Sheet1为新建的sheet名:ws=wb["Sheet1"]

    wb.active:不写其实也可以

    1. 写:wb=workbook()# 新增一个新excel
    写入单元格:ws["A1"]=31
    写入sheet名称:ws.title='AAAA'
    1. 读写:
    #coding:utf-8
    import openpyxl
    wb=openpyxl.load_workbook("20181.xlsx")
    wb.active
    ws=wb["Sheet1"]
    ws["A1"]=31
    wb.save("20181.xlsx")#保存
    

     

    wb.save("20181.xlsx")#保存
    打开文档后,
    1. 其他:


    #coding=utf-8
    # python 处理excel的第三方库有:xlrd(读excel)、xlwd(写excel)、openpyxl(读写excel)
    #比较难缠的问题:unicode编码和excel中记录的时间
    import openpyxl
    
    
    workbook=openpyxl.load_workbook(r"2018.xlsx")
    ws=workbook.active
    print (ws.title)
    # 读取一行或者一列
    for cell in ws['1']:#行
    # for cell in ws['A']:#列
        if cell.coordinate=='BB1':
            break
        print(cell.coordinate,cell.value) #coordinate 坐标
    # worksheets=workbook.get_sheet_names()# 获取所有sheet名称,方法已废弃
    worksheets=workbook.sheetnames#方法当属性用@property
    
    # sheet=workbook.get_sheet_by_name(worksheets[1])#获取/激活一个工作表,方法已废弃
    sheet=workbook[worksheets[1]]#获取/激活一个工作表
    
    # 两种读取方式
    print sheet['B1'],sheet['B1'].value
    print sheet.cell(row=1,column=2).value
    获取最大行数
    print(sheet.max_row,sheet.max_column)
    
    # 查询统计表的名称
    for r in range(1,sheet.max_row-1):
        name=sheet.cell(row=r, column=2).value
        value=sheet.cell(row=r, column=sheet.max_column-1).value
        if not isinstance(value,long) :#判断类型
            print 'pass'
        print name,value
    # 字母和数字之间转换
    from openpyxl.utils import get_column_letter,column_index_from_string
    print get_column_letter(1)
    print get_column_letter(11)
    print column_index_from_string('A')
    
    #获取A2:B4 单元格区域
    print '************************************'
    print tuple(sheet["A2":"B4"])
    for rowOfCell in sheet["A2":"B4"]:
        for temp in rowOfCell:
            if __name__ == '__main__':
                print temp.coordinate,temp.value
    

      

  • 相关阅读:
    2018-04-27 搭建Python官方文档翻译环境-汉化示例代码
    2018-04-21 搭建Python官方文档翻译环境
    2018-01-19 Xtext试用: 5步实现一个(中文)JVM语言
    2018-02-27 "Literate Programming"一书摘记之一
    2018-02-18 Antlr4实现简单语言之条件语句
    2018-02-17 中文代码示例[译]Scala中创建隐式函数
    2018-02-16 中文代码示例之冒泡算法, 后感
    C code example for strdup
    Hash table: why size should be prime?
    Hash table lengths and prime numbers
  • 原文地址:https://www.cnblogs.com/q2z2012/p/8611410.html
Copyright © 2011-2022 走看看