- 论坛徽章:
- 54
|
本帖最后由 haooooaaa 于 2015-07-01 22:58 编辑
回复 1# cwd0204 - def get_list(filename):
- tmp = []
- with open(filename) as f:
- for i in f:
- if i.strip() != "":
- tmp.append(i.strip())
- return tmp
-
- a, b, c = get_list("a.txt"), get_list("b.txt"), {"a":[],"b":[]}
- for i in range(0,len(b)):
- sum = 0
- for j in range(0,len(a)):
- if a[j].count(",")<4 or b[i].count(",")<3:
- continue
- ta, tb = a[j].split(",")[0:-1], b[i].split(",")
- try:
- sum += float(ta[-1])
- except:
- sum = 0
- if j in c["a"] or i in c["b"]:
- continue
- if ta[-3] == tb[-3] and ta[-1] == tb[-1]:
- c["a"].append(j)
- c["b"].append(i)
- break
- elif ta[-3] == tb[-3] and sum == float(tb[-1]):
- c["a"].append(j)
- c["a"].append(j-1)
- c["b"].append(i)
- break
- elif ta[-3] == tb[-3] and float(ta[-1])+float(tb[-1])==0:
- c["a"].append(j)
- c["b"].append(i)
- break
- def printN(lists,t):
- for i in range(0,len(lists)):
- if i not in c[t]:
- print lists[i]
- printN(a,"a")
- printN(b,"b")
复制代码 你的b文本是有问题, 第二三行,不是第三列了, 上面的脚本是从后面数第三列
结果:- $ python 1.py
- COW,WTPA,,10181361761103,2015/4/12,69.00,
- COW,WTPA,,10181361763176,2015/4/12,174.00,
- COW,WTPA,,10181361763182,2015/4/12,343.00,
- COW,WTPA,,10181361763217,2015/4/12,89.00,
- COW,WTPA,C02-9622932-3456031,10181361764925,2015/4/11,84.60,
- COW,WTPA,,10181361764926,2015/4/11,102.90,
- COW,WTPA,C01-7070070-8534411,10181361764929,2015/4/11,170.50,
- COW,WTPA,C02-8639078-5566455,10181361764930,2015/4/11,122.10,
- COW,WTPA,C01-6480696-6303216,10181361764931,2015/4/11,122.10,
- WTPA,FC0-2097184-0554318,10111834512371,2015/4/11,51.80
- WTPA,FC0-3239261-4663910,10111834514650,2015/4/11,24.80
- WTPA,FC0-1806445-0673518,10111834514840,2015/4/11,122.70
- WTPA,FC0-0721387-5015786,10111834514845,2015/4/11,122.00
- WTPA,FC0-5187668-7031526,10111834515497,2015/4/11,"1,999.00"
- WTPA,FC0-7018338-7828204,10111834515547,2015/4/11,22.50
- WTPA,FC0-4186772-2189980,10111834515610,2015/4/11,17.09
- WTPA,FC0-6748211-6069642,10111834515669,2015/4/11,339.90
- WTPA,FC0-6451409-9195468,10111834515870,2015/4/11,131.22
复制代码 |
|