Excel处理库openpyxl的使用

读取工作表

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')
相关推荐
逻极22 分钟前
OpenClaw「Clawdbot/Moltbot」 深入解析:核心架构深度剖析
python·ai·架构·agent·ai编程·moltbot·openclaw
sayang_shao24 分钟前
C++ ONNX Runtime 与 Python Ultralytics 库实现 YOLOv8 模型检测的区别
c++·python·yolo
曹牧25 分钟前
Java:强类型转换
开发语言·python
爱学习的阿磊34 分钟前
Python入门:从零到一的第一个程序
jvm·数据库·python
naruto_lnq38 分钟前
编写一个Python脚本自动下载壁纸
jvm·数据库·python
仟濹40 分钟前
【Java加强】1 异常 | 打卡day1
java·开发语言·python
Dingdangcat861 小时前
基于RetinaNet的建筑表面缺陷检测与识别系统研究_2
python
袖清暮雨1 小时前
Python爬虫(Scrapy框架)
开发语言·爬虫·python·scrapy
modelmd1 小时前
【递归算法】汉诺塔
python·算法
2501_941652771 小时前
基于YOLO12-A2C2f-FRFN的电缆连接器类型识别与定位
python