实验6 文件应用编程-2
#实验任务三 def is_valid(id): if len(id) != 18: return False try: for i in id: if i == 'X': continue elif type(eval(i)) == int: continue else: return False except:return False return True import csv a = [] with open('data3_id.txt', 'r', encoding='utf-8') as f: f_reader = csv.DictReader(f) for line in f_reader: x = line.get('身份证号码') if is_valid(x) == False: continue else: line['身份证号码']=line['身份证号码'][6:10]+'-'+line['身份证号码'][10:12]+'-'+line['身份证号码'][12:14] a.append(line) b = sorted(a, key=lambda i: i['身份证号码']) for a in b: print(f"{a['姓名']},{a['身份证号码']}")
#实验任务5_1 import random import datetime b = [] with open('data6.txt', 'r', encoding='utf-8') as f: data = f.read().strip('\n') a = data.split('\n') for i in a: b.append(i.split('\t')) x = random.sample(b, eval(input('输入随机抽点个数:'))) t = datetime.datetime.now() with open(t.strftime('%Y%m%d') + '.txt', 'w', encoding='utf-8') as f: for i in x: f.write('\t'.join(i)) f.write('\n') print('\t'.join(i))
#实验任务5_2 import random import datetime b = [] with open('data6.txt', 'r', encoding='utf-8') as f: data = f.read().strip('\n') a = data.split('\n') for i in a: b.append(i.split('\t')) t = datetime.datetime.now() with open(t.strftime('%Y%m%d') + '.txt', 'a', encoding='utf-8') as f: print("{:=^30}".format('抽点开始')) y = 1 while y != 0: y = eval(input('输入随机抽点个数:')) x = random.sample(b, y) for i in x: b.remove(i) f.write('\t'.join(i)) f.write('\n') print('\t'.join(i)) print("{:=^30}".format('抽点结束'))