练习:
写一个程序,要求能循环输入学生信息,并将学生信息正确保存到xlsx表格中。
import openpyxl
import os
# 检查创建并读取工作簿student
if os.path.exists('files/student.xlsx'):
wb = openpyxl.load_workbook('files/student.xlsx')
else:
wb = openpyxl.Workbook()
# 检查创建并读取工作表student
if 'student' in wb.sheetnames:
sheet = wb['student']
else:
sheet = wb.create_sheet('student', 0)
# 获取最大行号和列号
rStu = sheet.max_row # 行
cStu = sheet.max_column # 列
# 表初始化
if cStu == 1 or not (sheet.cell(1, 1).value == 'name'):
for x in range(4):
print('表需要初始化,请输入键值:')
print('当前以创建key数量:', x)
sheet.cell(1, x + 1).value = input(':')
wb.save('files/student.xlsx')
print('表以初始化,是否输入信息?')
flag = input('[y/N]:')
if flag == 'n' or flag == 'N' or flag == '':
pass
else:
# 循环输入数据
while True:
for tag in range(4):
print('当前正输入学生数据')
print('请输入学生的', sheet.cell(1, tag + 1).value)
sheet.cell(rStu + 1, tag + 1).value = input(':')
wb.save('files/student.xlsx')
rStu += 1
print('此次输入完成!')
print('是否继续输入信息?')
flag1 = input('[y/N]:')
if flag1 == 'n' or flag1 == 'N' or flag1 == '':
break
print('程序结束')