请问,如图是表格中的两条数据的学籍号(G+身份证号)一致,怎么通过判断最后一列的出生日期数据,确定哪一个人的学籍号是错误的,并删除错误数据所在的行?
用字符串比较函数来比较日期数据的大小。
参考GPT:假设你的数据表是一个二维列表,每一行是一个学生的数据,最后一列是出生日期数据。你可以通过以下代码实现对学籍号相同但是出生日期不同的数据进行删除:
data = [ ["张三", "001", "男", "1990-01-01"],
["李四", "002", "男", "1991-02-02"],
["王五", "001", "女", "1990-01-03"],
["赵六", "003", "男", "1992-03-03"],
["钱七", "004", "女", "1993-04-04"],
["孙八", "001", "男", "1990-01-05"],
]
# 创建一个字典,键为学籍号,值为出生日期
student_dict = {}
for row in data:
student_dict[row[1]] = row[3]
# 找出学籍号相同但是出生日期不同的数据
error_rows = []
for i in range(len(data)):
if student_dict[data[i][1]] != data[i][3]:
error_rows.append(i)
# 删除错误的数据
for index in reversed(error_rows):
data.pop(index)
# 输出结果
for row in data:
print(row)
上述代码先创建一个字典,将每个学籍号和出生日期对应起来。然后遍历数据表,找出学籍号相同但是出生日期不同的数据,并记录下来。最后按照逆序删除错误的数据。
不知道你说的错误的依据是什么,如果你有一列是身份证号里面有出生日期还好判断,这个没有规律。