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)

  • 相关阅读:
    [转]深入探析c# Socket
    [转]软件架构师书籍
    常指针类型讲解(const int *p,int*const p,int const *p,指针常量,常量指针)
    使用CreateFile()打开COM10及以上串口的问题[转并整理]
    如何在MFC中打开控制台[转]
    vb.net相关的除法运算
    计算机如何表示小数
    精简指令集与复杂指令集
    【转】ArcSDE数据被锁定后的解锁方法
    [ERR0134] Requested Service is not available【转载】
  • 原文地址:https://www.cnblogs.com/newsss/p/12061627.html
Copyright © 2011-2022 走看看