我有两个文本文件,我可以很好地连接它们。f1 是标记和计数(2 个列),f2 是标记和向量(1+n 个列,其中 n=向量数)。令牌总是出现在每个文件的第一个列中。
#concatenate these two txt files into a new file
with open('s1_5w10f_vocab.txt')as f1, open('s1_5w10f_vectors.txt') as f2, open('/Users/dlhoffman/5w10f.txt', 'w') as f3:
for x,y in zip(f1,f2):
f3.write(x.strip() + " " + y.strip() + '\n')
下面是一行新的连接文件的样子:
new 10950 new -0.272530 -0.001466 -0.283271 0.113374 -0.741011 -0.858208 -0.044069 0.787044 0.550195 -0.429844
我只需要令牌(在上面的“new”示例中)在行的开头出现一次。有没有办法“通过”它们各自的第一列连接这两个文件,以便在新的连接文件中,“合并”列只出现一次?
如果您的元素由空格分隔,您可以通过以下方式从第二行中去除前导标记。
with open('s1_5w10f_vocab.txt')as f1, open('s1_5w10f_vectors.txt') as f2, open('/Users/dlhoffman/5w10f.txt', 'w') as f3:
for x,y in zip(f1,f2):
f3.write(x.strip() + " " + y[y.index(' '):].strip() + '\n')
这会在它找到的第一个空格之后创建第二个字符串的子字符串,然后对其调用 strip()。
快乐编码!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句