这种数据要格式化,很难一一对齐,因为是数字,字母与汉字宽度不一致
直接格式化可以用format
给你看看两种效果:
# 显示学生信息
def showinfo():
with open(filename, encoding = 'utf-8') as showfile_info:
print("{:<6}{:<6}{:<8}{:<10}{:<10}{:<6}".format('学号', "姓名", "英语成绩", "Python成绩", "c语言成绩", "总成绩"))
line_info = showfile_info.readlines()
for line in line_info[1:]: # 遍历列表,输出各个元素
print("{:<6}{:<6}{:<8}{:<10}{:<10}{:<6}".format(*line.split()))
def showinfo1():
import prettytable as pt
with open(filename, encoding = 'utf-8') as showfile_info:
t = pt.from_csv(showfile_info)
print(t)
showinfo()
'''--result
学号 姓名 英语成绩 Python成绩 c语言成绩 总成绩
1006 qaz 33 44 55 132
1001 lpj 88 88 88 264
1002 Ipr 66 77 44 187
1003 Ipl 33 22 22 77
'''
showinfo1()
'''--result
+------+------+----------+------------+-----------+--------+
| 学号 | 姓名 | 英语成绩 | Python成绩 | c语言成绩 | 总成绩 |
+------+------+----------+------------+-----------+--------+
| 1006 | qaz | 33 | 44 | 55 | 132 |
| 1001 | lpj | 88 | 88 | 88 | 264 |
| 1002 | Ipr | 66 | 77 | 44 | 187 |
| 1003 | Ipl | 33 | 22 | 22 | 77 |
+------+------+----------+------------+-----------+--------+
'''