题目:
1 三个文件:txt1.txt、txt2.txt、txt3.txt
2 1.取出txt1.txt中的第二列数据,
3 2.取出txt2.txt中的第三列数据
4 3.排序,从大到小(自己实现)
5 4.写入 txt3.txt 中滴
6 按照从大到小的顺序,写入3.txt中的第一列
7
8 例:
9 txt1.txt:
10 aaa,234,1
11 2,555,1111
12 r44,9,2
13 jjj,123,44
14
15 txt2.txt:
16 7?i?89
17 rr?oo?33
18
19
20 结果:
21 txt3.txt:
22 555
23 234
24 123
25 89
26 33
27
代码:
1 # @Author :whyCai
2 # @Time :2021/3/4 20:55
3
4
5 '''
6 三个文件:txt1.txt、txt2.txt、txt3.txt
7 1.取出txt1.txt中的第二列数据,
8 2.取出txt2.txt中的第三列数据
9 3.排序,从大到小(自己实现)
10 4.写入 txt3.txt 中滴
11 按照从大到小的顺序,写入3.txt中的第一列
12
13 例:
14 txt1.txt:
15 aaa,234,1
16 2,555,1111
17 r44,9,2
18 jjj,123,44
19
20 txt2.txt:
21 7?i?89
22 rr?oo?33
23
24
25 结果:
26 txt3.txt:
27 555
28 234
29 123
30 89
31 33
32 9
33 '''
34
35 from numpy import *
36
37 #1取值
38 def getFileStr(fileName,splitStr,num):
39 '''
40 获取指定的字符
41 :param fileName: 文件名
42 :param splitStr: 分割的字符
43 :param num: 获取第几个数字
44 :return:
45 '''
46 fr = open(fileName)
47 returnRes = []
48 for line in fr.readlines():
49 line = line.strip()
50 lineSplit = line.split(splitStr)
51 returnRes.append(lineSplit[num-1])
52 return returnRes
53
54 dataTxt1 = getFileStr("txt1.txt",',',2)
55 dataTxt2 = getFileStr("txt2.txt",'?',3)
56 dataTxt = dataTxt1 + dataTxt2
57
58 #2排序
59 def quickSort(list):
60 '''
61 快速排序
62 :param list:
63 :return:
64 '''
65 if len(list) <= 1:
66 return list
67 else:
68 mid = int(list[0])
69 litt = [x for x in list[1:] if int(x) < mid]
70 big = [x for x in list[1:] if int(x) >= mid]
71 return quickSort(big)+ [mid] + quickSort(litt)
72
73 dataTxtEnd = quickSort(dataTxt)
74
75 #3文件写入
76 fileName = 'txt3.txt'
77 with open(fileName, 'w') as fr:
78 for i in dataTxtEnd:
79 fr.write(str(i)+'\n')