小白求助,python求一个文件的每行坐标是否在另外一个文件中
本帖最后由 poppy章鱼 于 2021-11-17 18:58 编辑##刚学习python,挣扎了好久不会写,希望有大神帮忙解答,感激不尽。
我有两个文件1.txt,2.txt
想看1.txt中的start,end这个区域,是否在2.txt的start,end这个区域中(相等,或者是子集),如果在,则输出在2.txt每行的后面。
比如1.txt的第一行(20000---29000)这个范围在2.txt(10000---30000),则符合要求。
但是也有情况需要考虑,比如1.txt的第二行(36000---31000)start,end方向反了,需要reverse一下,在2.txt中也有这种情况。
可理解为start,end中间省略了。比如start:2, end:5,完整的文件是
1.txt
ID1start1end1length1
block120000 29000 9001
block136000 31000 5001
block145000 50000 5001
block214825 22000 7176
block230000 25000 5001
2.txt
ID2start2end2freq2length2
block110000 30000 2 20001
block130001 37000 1 7000
block137500 43000 4 5501
block144000 54000 2 10001
block212000 23000 4 11001
block232000 24000 2 8001
block233000 43000 3 10001
block250000 44000 2 6001
输出格式
ID2start2end2freq2length2start1end1length1
block1100003000022000120000290009001
block130001370001700036000310005001
block1375004300045501
block1440005400021000145000500005001
block2120002300041100114825220007176
block232000240002800130000250005001
block23300043000310001
block2500004400026001
但是按照要求,不应该是这样的吗?ID2start2end2freq2length2start1end1length1
block1 10000300002200012000029000900114825220007176# 这组也在啊
block1 30001370001700036000310005001
block1 375004300045501
block1 440005400021000145000500005001
block2 120002300041100114825220007176
block2 32000240002800130000250005001
block2 3300043000310001
block2 500004400026001 suchocolate 发表于 2021-11-17 22:04
但是按照要求,不应该是这样的吗?
我描述不准确,还需要ID一致 poppy章鱼 发表于 2021-11-19 14:52
我描述不准确,还需要ID一致
谢谢您
页:
[1]