读取工作表
python
from openpyxl import load_workbook
wb=load_workbook("学生成绩表.xlsx")
wb.get_sheet_names()
a_sheet=wb.get_sheet_by_name('计算机应用3班')
print(a_sheet.title)
b_sheet=wb.active
print("激活的sheet:{}".format(b_sheet))
#获取单个单元格的值
print(b_sheet['B6'].value)
#改变单元格的值
b_sheet['B6'].value="我是改变的值"
print("==========")
#获取单个单元格的值
b6_too = b_sheet.cell(row=6, column=2)
print(b6_too.value)
#按照行进行遍历
# for row in b_sheet.rows:
# print("\n")
# for cell in row:
# print(cell.value,end=" ")
#按照列进行遍历
# for column in b_sheet.columns:
# for cell in column:
# print(cell.value)
#获取最大行
# print(b_sheet.max_row)
# print(b_sheet.max_column)
计算机应用3班
激活的sheet:<Worksheet "计算机应用2班">
20230402004
==========
我是改变的值
1 下面的代码就可以获得所有单元格的数据。如果要获得某行的数据呢?给其一个索引就行了,因为sheet.rows是生成器类型,不能使用索引,转换成list之后再使用索引,list(sheet.rows)[2]这样就获取到第二行的tuple对象。
python
for cell in list(b_sheet.rows)[2]:
print(cell.value,end=" ")
1 20230402001 张雪 20 34 67 56 =SUM(D3:G3) =AVERAGE(D3:G3) =IF(I3<60,"差","良") 优 =_xlfn.RANK.EQ(H3,$H$3:$H$13) 2班A组
创建及保存工作表
python
from openpyxl import Workbook
#创建一个工作表
wb = Workbook()
#创建一个sheet
wb.create_sheet('Data',index=1)# 被安排到第二个工作表,index=0就是第一个位置
print(wb.get_sheet_names())
sheet=wb.get_sheet_by_name('Data')
sheet.append(['姓名','学号','成绩'])
sheet.append(['黄元','11067','999'])
wb.save(r'D:\example.xlsx')
向工作表写入
python
from openpyxl import load_workbook
lwb=load_workbook('D:\example.xlsx')#关键调用
lwb.get_sheet_names()
sheet=lwb.get_sheet_by_name('Data')
ls=[["hhhh","hhhhh","hhhh"],['hhhh','hhhh','hhhh'],['hhhh','hhhh','hhhh']]
for line in ls:
sheet.append(line)
# rows = [["姓名","学号","成绩"],["黄元","11067","999"]]
lwb.save(r'D:\example.xlsx')