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)

你可能感兴趣的:(python-excel操作-(1)(读数据))