我有一个TSV(制表符分隔的文件),其中一个标题被称为session_id。我也有一个名为myMap的地图,其中密钥是session_id,值是会话长度。现在我想要修改tsv文件,以便在最后添加一个名为“Length”的标题并在其中添加长度值。这意味着对于每一行,我应该将session_length作为另一个制表符分隔值附加到每行的末尾。 例如,如果我的TSV文件的第一行是这样的,首先:将一列添加到TSV文件的末尾
User_id Session_id Age Date
23 'adasd5' 23 23/02/2017
而且我也有:
myMap['adasd5']=12
因此,该文件应更改为:
User_id Session_id Age Date Length
23 'adasd5' 23 23/02/2017 12
这里是我做的,但它不工作:
with open('file.tsv', 'r+b') as infile:
header=infile.next()
h=header+'\t'+"return"+'\n'
infile.write(h)
for line in infile:
line2 = line.strip().split('\t')
if line2[1] in myMap:
d=line+'\t'+str(myMap[line2[1]])+'\n'
infile.write(d)
infile.close()
愿意用熊猫吗? –
此外,你尝试过什么方式不起作用? –
@RyanStout是的。如果你有解决方案,我也可以使用熊猫。 – HimanAB