一.openxl读取数据的步骤:

excel表格读取数据的步骤:
数据类型。
1.导入 openpyxl 模块。
2.调用 openpyxl.load_workbook()函数。
3.取得 Workbook 对象。
4.调用 get_active_sheet()或 get_sheet_by_name()工作簿方法。
5.取得 Worksheet 对象。
6.使用索引或工作表的 cell()方法,带上 row 和 column 关键字参数。
7.取得 Cell 对象。
8.读取 Cell 对象的 value 属性。

二.实际代码:

import openpyxl

def otherfun():
    """
    所有的函数位置,练习使用
    :return:
    """

    # wb=openpyxl.load_workbook("民政部全国编号.xlsx")
    # print(type(wb))

    # 获取所有的sheet表格名称
    # print(wb.get_sheet_names())

    # 使用指定的表格sheet
    # sheet=wb.get_sheet_by_name('zf编号')    # 不同版本不能使用的,通用版本wb['zf编号']
    # sheet=wb['Sheet2']

    # 获取数据
    # print(sheet['A1'])
    # print(sheet['A1'].value)
    # print(sheet['B1'])
    # print(sheet['B1'].value)

    # 单元格‘B1’的内容信息
    # unit_c=sheet["B1"]

    # 定位单元格的信息
    # 1.坐标信息 row--行   column--列
    # unitvalue='Row'+str(unit_c.row)+',Column'+unit_c.column+'is'+unit_c.value
    # unitvalue="'Row'+{}+',Column'+{}+'is'+{}".format(unit_c.row,unit_c.column,unit_c.value)
    #
    # print(unitvalue)
    #
    # print("-------------")
    # # 2.coordinate  --坐标信息
    # #  coordinate  --中文--坐标,表格坐标信息
    # unitvalue1="'Cell'+{}+'is'+{}".format(unit_c.coordinate,unit_c.value)
    # print(unitvalue1)

    # 3.单元格信息
    # 3.坐标信息,cell(row=1,column=1)---》单元格对象的获取,加上value即可获取单元格的值
    # print(sheet.cell(row=1, column=1))
    # print(sheet.cell(row=1, column=1).value)

    # 4.示例,1获取1,8之间的每隔一行获取一个数据,打印出单元格的内容信息
    # for line in range(1,8,2):
    #     print(line,sheet.cell(row=line,column=2).value)

    # 5.示例2获取1,8之间的每隔一行获取一个数据,打印出单元格的内容信息
    #获取表格中最大表格的行数数字
    # line_max=sheet.get_highest_row()  #废弃
    # line_max=sheet.get_highest_column()  #废弃
    # print("max.....")
    # print(sheet.max_row)   #  单元格最大行
    # print(sheet.max_column)  #  单元格 最大列


"""
excel表格读取数据的步骤:
数据类型。
1.导入 openpyxl 模块。
2.调用 openpyxl.load_workbook()函数。
3.取得 Workbook 对象。
4.调用 get_active_sheet()或 get_sheet_by_name()工作簿方法。
5.取得 Worksheet 对象。
6.使用索引或工作表的 cell()方法,带上 row 和 column 关键字参数。
7.取得 Cell 对象。
8.读取 Cell 对象的 value 属性。
"""

def lab1():
    """
    可以将 Worksheet 对象切片,取得电子表格中一行、一列或一个矩形区域中的所有
Cell 对象。然后可以循环遍历这个切片中的所有单元格
我们使用两个 for 循环。外层 for 循环遍历
这个切片中的每一行。然后针对每一行,内层 for 循环遍历该行中的每个单元格
    :return:
    """
    wb = openpyxl.load_workbook("民政部全国编号.xlsx")
    sheet = wb['Sheet2']
    data1=tuple(sheet['A1':'D4'])    # 以元组的形式显示数据
    print(data1)
    print("__________")
    for rowcell in sheet['A1':'D4']:  # A1--->d4 是表格中的数据范围
        for cellobj in rowcell:
            print(cellobj.coordinate,cellobj.value,end="")     # 打印单元格的坐标coordinate,单元格的值cellobj.value,end=""同一行的数据不换行
        print()   #打印每一行数据后,换行
        print("---END OF ROW---")

def lab2():
    """
    利用 Worksheet 对象的 rows 属性,可以得到一个元组构成的元组。内部的每个元
组都代表 1 行,包含该行中的 Cell 对象。columns 属性也会给你一个元组构成的元组,
内部的每个元组都包含 1 列中的 Cell 对象。
要访问一个特定的元组,可以利用它在大的元组中的下标。例如,要得到代表 B
列的元组,可以用 sheet.columns[1]。要得到代表 A 列的元组,可以用 sheet.columns[0]。
在得到了代表行或列的元组后,可以循环遍历它的对象,打印出它们的值

    """
    wb = openpyxl.load_workbook("民政部全国编号.xlsx")
    sheet = wb['Sheet2']
    data1=tuple(sheet['A1':'D4'])    # 以元组的形式显示数据
    print(data1)
    print("__________")
    allcolumns=sheet.columns  # 以exel表格中的列为基本单元信息,excel表格的每列,都是一个元组,列出所有列
    print("+++++++++++++column+---------------")
    for fieldobj in allcolumns:
        # print(fieldobj)
        for cellobj in fieldobj:
            print(cellobj.value)   # 列出每个单元格数据
        print("fild.....")
    print("+++++++++++++row---------------")
    allrows = sheet.rows    #获取所有行的元组
    for rowsobj in allrows:
        # print(fieldobj)
        for cellobj in rowsobj:
            print(cellobj.value)   # 列出每个单元格数据
        print("column.....")

if __name__ == '__main__':
    # lab1()   #范围获取excel表格中的数据
    lab2()     # sheet.columns,sheet.rows 获取设备的所有行-一个大的元组,里面都是每行一个小元组,所有列同样通行