import openpyxl
wb=openpyxl.load_workbook('example.xlsx')
print("wb的数据类型是:",type(wb))
print("example.xlsx文件中所有的工作表表名为:",wb.get_sheet_names() )
sheet=wb.get_sheet_by_name('Sheet1') ##通过get_sheet_by_name()方法传递工作表(工作簿)名称的字符串获得Worksheet 对象。
print("工作表用Worksheet对象表示为:",sheet)
print("sheet对象的类型是:",type(sheet))
print("当前工作表的名称为:",sheet.title)
anotherSheet=wb.get_active_sheet ###获取当前活动工作表。
print("当前活动的工作表是:",anotherSheet)
print(sheet['A1'])
print("A1单元格的内容是:",sheet['A1'].value)
print("B1单元格的内容是:",sheet['B1'].value)
c=sheet['B1']
print("B1单元格的内容是:",c.value)
dd=sheet.cell(row=1,column=2)
print('第一行、第一列的值为:',dd.value)
for i in range(1,8):
print("电子表格第",i,"行,第二列的内容是:",sheet.cell(row=i,column=2).value)
运行结果:
wb的数据类型是: <class 'openpyxl.workbook.workbook.Workbook'>
example.xlsx文件中所有的工作表表名为: ['Sheet1', 'Sheet2', 'Sheet3']
工作表用Worksheet对象表示为: <Worksheet "Sheet1">
sheet对象的类型是: <class 'openpyxl.worksheet.worksheet.Worksheet'>
当前工作表的名称为: Sheet1
当前活动的工作表是: <bound method Workbook.get_active_sheet of <openpyxl.workbook.workbook.Workbook object at 0xb69659ac>>
<Cell 'Sheet1'.A1>
A1单元格的内容是: 2015-04-05 13:34:02
B1单元格的内容是: Apples
B1单元格的内容是: Apples
第一行、第一列的值为: Apples
电子表格第 1 行,第二列的内容是: Apples
电子表格第 2 行,第二列的内容是: Cherries
电子表格第 3 行,第二列的内容是: Pears
电子表格第 4 行,第二列的内容是: Oranges
电子表格第 5 行,第二列的内容是: Apples
电子表格第 6 行,第二列的内容是: Bananas
电子表格第 7 行,第二列的内容是: Strawberries
Process finished with exit code 0
知识点总结:在本案例中,需要导入openpyxl模块,其中openpyxl模块下面的用到的几个方法及其作用如下:
(1)、load_workbook()方法:用来打开一个电子表格文件,也就是说,openpyxl.load_workbook()方法接受文件名,返回一个workbook数据类型的值。这个workbook对象代表这个Excel文件,类似File对象代表一个打开的文本文件。
(2)、get_sheet_names()方法:用来获得电子表格中所有工作表的表名。如a.xlsx文件中有三个名为“Sheet1”、“Sheet2”、“Sheet3”的工作表(工作簿),获取此表名。
(3)、get_sheet_by_name()方法:每一个工作表(工作簿)由一个 Worksheet 对象表示,而Worksheet对象可以通过向方法get_sheet_by_name()传递工作表(工作簿)名称的字符串获得;
(4)、有了 Worksheet 对象后,就可以按名字访问 Cell 对象。Cell 对象有一个value属性,包含了单元格中保存的值。Cell 对象也有 row、column 和 coordinate 属性,提供该单元格的位置信息。
补充:
get_sheet_names:获取所有表格的名称(新版已经不建议使用,通过Workbook的sheetnames属性即可获取)
get_sheet_by_name:通过表格名称获取Worksheet对象(新版也不建议使用,通过Worksheet[‘表名‘]获取)
get_active_sheet:获取活跃的表格(新版建议通过active属性获取)
remove_sheet:删除一个表格
create_sheet:创建一个空的表格
copy_worksheet:在Workbook内拷贝表格
Worksheet对象
常用的Worksheet属性如下:
title:表格的标题
dimensions:表格的大小,这里的大小是指含有数据的表格的大小,即:左上角的坐标:右下角的坐标
max_row:表格的最大行
min_row:表格的最小行
max_column:表格的最大列
min_column:表格的最小列
rows:按行获取单元格(Cell对象) - 生成器
columns:按列获取单元格(Cell对象) - 生成器
freeze_panes:冻结窗格
values:按行获取表格的内容(数据) - 生成器
常用的Worksheet方法如下:
iter_rows:按行获取所有单元格,内置属性有(min_row,max_row,min_col,max_col)
iter_columns:按列获取所有的单元格
append:在表格末尾添加数据
merged_cells:合并多个单元格
unmerged_cells:移除合并的单元格
Cell对象
Cell对象比较简单,常用的属性如下:
row:单元格所在的行
column:单元格坐在的列
value:单元格的值
coordinate:单元格的坐标
附件:代码读取的“example.xlsx”文件: