需求
为了让学生成绩好看一点:
1.每个分数都加20
2.语数英及格分90,物理,化学,生物,地理及格分60。在每个学生成绩都加20分的情况下如果没达到及格线,则让该分数变成及格分。
代码
安装包:
pip install openpyxl
遍历每个单元格,如果该单元格是数字,则该数字+20,然后写回文件
import openpyxl
# 打开xlsx文件
file_path = 'your_file.xlsx'
workbook = openpyxl.load_workbook(file_path)
# 获取第一个工作表
sheet = workbook.active
# 遍历每个单元格
for row in sheet.iter_rows(min_col=2, max_col=sheet.max_column):
for cell in row:
# 检查单元格是否为数字
if isinstance(cell.value, (int, float)):
# 如果在第2列到第4列,并且数字小于90,则替换为90
if 2 <= cell.column <= 4 and cell.value < 90:
cell.value = 90
# 如果在第4列到最后一列,并且数字小于60,则替换为60
elif cell.column >= 4 and cell.value < 60:
cell.value = 60
# 保存修改后的xlsx文件
workbook.save(file_path)
在每个学生成绩都加20分的情况下如果没达到及格线,则让该分数变成及格分(语数英及格分90,物理,化学,生物,地理及格分60)
import openpyxl
# 打开xlsx文件
file_path = 'your_file.xlsx'
workbook = openpyxl.load_workbook(file_path)
# 获取第一个工作表
sheet = workbook.active
# 遍历每个单元格
for row in sheet.iter_rows():
for cell in row:
# 检查单元格是否为数字
if isinstance(cell.value, (int, float)):
# 对数字进行加20操作
cell.value += 20
# 保存修改后的xlsx文件
workbook.save(file_path)