python 练习题- 文件取值排序

题目:

 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 9

 

代码:

 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')

 

参考博客:

取值:https://www.cnblogs.com/zou107/p/11904371.html

排序:https://www.cnblogs.com/huang-yc/p/9774287.html

上一篇:SAP BRF+ ruleset里维护多条rule,每条rule逐一执行


下一篇:使用js创建一个实现+-*/算法的计算器