五、由于昨天上了一天的课,昨晚上没有搞这个,今天来补一补。(!注意这一张需要用到字典,元组的知识)
从这章开始一般要用到openpyxl
如果当写到import openpyxl
时候如果出现报错,那么需要先用到pip install openpyxl
这个语句
这个是程序中的分量.xlsx
一下进行代码分析
import openpyxl#首先导入openpyxl包
def open():#定义函数(打开工作簿的三种方式)
from openpyxl import load_workbook#这个类似于xlrd里面的打开是一样的
wb=load_workbook("分量.xlsx")#这里面选择名字用的是load workbook
sh1=wb.active#这个默认选择的一个工作簿
sh2=wb['分量']#这个是直接根据名字找,下面也是
sh3=wb.get_sheet_by_name('分量')
print(sh1 is sh2 is sh3)#三种方式看是不是一样的,这个值返回是个true,
#说明一样
def getsheet():#得到工作簿的名字
from openpyxl import load_workbook
wb=load_workbook('分量.xlsx')
print(wb.sheetnames)#第一种方法输出工作簿的名字,这个是names会一下输出所有的名字
for sh in wb:#这个利用循环结构,一下下输出
print(sh.title)#第二种方法输出工作簿的名字
def getonevalue():#得到一个单元格的值
from openpyxl import load_workbook
wb = load_workbook('分量.xlsx')
sh1=wb.active#默认激活第一个工作簿
print(sh1.cell(1,2).value)#这也是常见的两种输出单元格的小小方式
#(用的是坐标输出单元格的值)
print(sh1['c1'].value)#直接用单元格的位置
def getmanyvalue():#得到多个单元格的值(利用切片)
from openpyxl import load_workbook
wb = load_workbook('分量.xlsx')
sh1 = wb.active#激活工作簿
cell1=sh1['c1':'d2']#相当于你鼠标画了一个格子,将从c1到d2框选住,如果是2*2就类似二维数组,如果再多则可以利用cell1[0][0]这种方式访问
for i in cell1:
print(i)
print("你好")
cell2=sh1[3]#第三行
cell3=sh1['c']#第三列
cell4=sh1[3:5]
#通过迭代获取数据
for row in sh1.iter_rows(min_row=1,max_row=2,max_col=3):
for cell in row:
print(cell.value)
for row in sh1.iter_rows(min_row=1,max_row=2,max_col=3,min_col=1):#第一行到第二行
#第一列到第三列
for cell in row:
print(cell.value)
def getalldata():#得到所有的数据
from openpyxl import load_workbook
wb = load_workbook('分量.xlsx')
sh1 = wb.active
for row in sh1.rows:#先从行开始打印
for cell in row:
print(cell.value)
for col in sh1.columns:#先从列开始打印
for cell in col:
print(cell.value)
if __name__ == '__main__':
getmanyvalue()
本来是2022.9.13的文章,今天补一下