zoukankan      html  css  js  c++  java
  • python-excel操作-(1)(读数据)

    import openpyxl
    #获取工作薄
    wb=openpyxl.load_workbook('E:openpyxl_02.xlsx')
    #print(wb)

    #1.获取所有表单,通过列表得格式获取表单名
    sheet=wb.worksheets[0]
    #print(sheet[1])
    #2.通过查找表单名字获取对应表单
    sheet_2=wb.get_sheet_by_name('Sheet1')
    #3.类似于字典得操作,输入key值获取对应value
    sheet_3=wb['Sheet1']
    #4.获取激活得表单,也就是第一个表单名
    sheet_4=wb.active

    #获取单元格
    #1.获取指定坐标单元格数据:row:行(int类型,以1开头), column:列(int)
    cell_1=sheet.cell(1,2).value
    cell_2=sheet_2.cell(1,1).value
    cell_3=sheet_3.cell(1,3).value
    cell_4=sheet_4.cell(2,1).value
    #print(cell_1)
    #print(cell_2)
    #print(cell_3)
    #print(cell_4)

    #2.获取多个数据
    #一:获取行得数据
    #1)获取一行数据
    #a=sheet[1]
    #print(a)
    #2)根据行数获取多行数据,写获取多少行就返回多少行,不管有没有数据都会返回
    a_1=sheet[1:3]
    #print(a_1)
    #3)1.获取所有行的数据,通过生成器 生成数据,最后返回数据 ps:只获取有数据的行,返回的数据类型是:generator,返回形式为多tuple类型
    a_2=sheet.rows
    a_3=list(a_2)[1:]
    #print(a_2)
    #print(type(a_2))
    #print(a_3)
    #2.依据方法一,进行行数转换成数据值使用.value 方法
    data_value=[]
    for row in a_3:
    row_data=[]
    for cell in row:
    row_data.append(cell.value)
    data_value.append(row_data)
    print(data_value)
    #3.根据行、列利用for循环转换成列表数据,
    data_value_2=[]
    #最大行数
    max_row=sheet.max_row
    #最大列数
    max_column=sheet.max_column
    for row in range(2,max_row+1):
    row_data=[]
    for column in range(1,max_column+1):
    row_data.append(sheet.cell(row,column).value)
    data_value_2.append(row_data)
    print(data_value_2)
    #二:获取列得数据
    # 根据列的名字,获取某一列得数据,只返回有值的数据
    c=sheet["A"]
    #print(c)

  • 相关阅读:
    mysql索引
    mysql中的事务
    mysql的各种join连接
    java集合-LinkedList源码分析
    java集合(二)-ArrayList源码分析
    java集合(一)-集合概述
    java并发(五)-重排序、 happens-before
    vue引入百度地图 --BMap is not defined ,eslint BMap报错
    红星美凯龙前端面试内容总结
    vue父子组件钩子函数的执行顺序
  • 原文地址:https://www.cnblogs.com/newsss/p/12061627.html
Copyright © 2011-2022 走看看