python简单文本处理
发布网友
发布时间:2022-05-11 00:07
我来回答
共3个回答
热心网友
时间:2022-05-11 01:37
最后结果中的 德国 总理那一行不知道怎么来的,应该在 b.txt 中有同样的前缀才对。
data = dict()
# process a.txt
for line in open("a.txt", "r"):
k, s, v = line.partition("_")
if s != "_":
continue
data[k.strip()] = [int(x) for x in v.split()]
def sum(a, b):
result = []
maxlen = max(len(a), len(b))
for i in range(maxlen):
v1 = a[i] if i < len(a) else 0
v2 = b[i] if i < len(b) else 0
result.append(v1 + v2)
return result
# generate c.txt
fd = open("c.txt", "w")
for line in open("b.txt", "r"):
line = line.strip()
if len(line) == 0:
fd.write("\n")
continue
result = []
for k in line.split():
result = sum(result, data.get(k, [0]))
fd.write("{}_{}\n".format(line, ' '.join([str(i) for i in result])))
fd.close()
热心网友
时间:2022-05-11 02:55
问题不难,就是描述不完整,文件b描述没看到有向量,是和a文件格式一样吗,能否把文件a,b贴上来呢