读取excel文件数据之openpyxl模块


1.用openpyxl模块打开excel文档


import openpyxl

#创建一个workbook对象
wb=openpyxl.load_workbook('a.xlsx')
#打印wb类型 workbook
print(type(wb))

openpyxl.load_workbook()函数接受文件名,返回一个workbook 数据类型的值。这
个workbook 对象代表这个Excel 文件,有点类似File 对象代表一个打开的文本文件,对应的excel文件必须在当前目录下

2.从工作簿中取得工作表

调用方法sheetnames可以取得工作簿中所有表名的列表,在新版本python中不推荐使用get_sheet_names()

#获取每个表单名字(列表)
sheet=wb.sheetnames

sh1=wb[sheet[0]]  #第一个表Sheet1
sh2=wb[sheet[1]]  #第二个表


3.从表中获取单元格

有了Worksheet 对象后,就可以按名字访问Cell 对象。

#用cell可以访问单元格任意位置(row,column)
for i in range(2,7):
    print(sh1.cell(i,2).value)

Cell 对象有一个value 属性,不出意外,它包含这个单元格中保存的值。


4.从表中获取行和列

print(sh1.max_column) #最大列
print(sh1.max_row)    #最大行

可以将Worksheet 对象切片,取得电子表格中一行、一列或一个矩形区域中的所有Cell 对象。然后可以循环遍历这个切片中的所有单元格

for obj in list(sh1.rows):  #遍历每行,得到每行的元组类型
    print(obj[1].value)  #打印第二列数据 

for obj in list(sh1.rows):  #遍历每行
    for i in list(obj):     #遍历行中每个元素
        print(i.value)      #打印所有数据

注意:利用Worksheet 对象的rows 属性,可以得到一个元组构成的元组。内部的每个元
组都代表1 行,包含该行中的Cell 对象。columns 属性也会给你一个元组构成的元组,
内部的每个元组都包含1 列中的Cell 对象



总结:

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 属性。

猜你喜欢

转载自www.cnblogs.com/masterwayne/p/12363500.html