我有2个.txt文件,第一个文件组织如下:
MM DD YYYY HH mm
,第二个是这样的:
1:NAME1
2:NAME2
3:NAME3
...
我想要做的是根据.txt 1中的对来替换.txt 2中的每一行,如下所示:
1
1
1
2
2
2
3
有办法做到这一点吗?我正在考虑组织第一个txt删除1:2:3:并将其作为数组读取,然后在范围内创建一个循环(1,txt 1中的行数)然后在txt 2中查找包含" I"并用数组的i元素代替。但我当然不知道该怎么做。
答案 0 :(得分:1)
罗德里戈评论道。有很多方法可以实现它,但将名称存储在字典中可能是要走的路。
# Read the names
with open('names.txt') as f_names:
names = dict(line.strip().split(':') for line in f_names)
# Read the numbers
with open('numbers.txt') as f_numbers:
numbers = list(line.strip() for line in f_numbers)
# Replace numbers with names
with open('numbers.txt', 'w') as f_output:
for n in numbers:
f_output.write(names[n] + '\n')
答案 1 :(得分:0)
这应该可以解决问题。它读取第一个文件并将k, v
对存储在dict中。该dict用于为第二个文件中找到的每个v
输出k
。
但是....如果你想阻止这些downvotes,最好发布你自己的代码片段来展示你尝试过的东西......现在你的问题是SO&#39部落的红毯子那些在其中没有代码的东西。天啊,他们甚至低估了答案,因为问题中没有代码......
lookup = {}
with open("first.txt") as fifile:
for line in fifile:
lookup[line.split[":"][0]] = line.split[":"][1]
with open("second.txt") as sifile:
with open("output.txt", "w") as ofile:
for line in sifile:
ofile.write("{}\n".format(lookup[line])