poppy章鱼 发表于 2021-11-16 22:32:01

小白求助,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

suchocolate 发表于 2021-11-17 22:04:59

但是按照要求,不应该是这样的吗?ID2start2end2freq2length2start1end1length1
block1 10000300002200012000029000900114825220007176# 这组也在啊
block1 30001370001700036000310005001
block1 375004300045501
block1 440005400021000145000500005001
block2 120002300041100114825220007176
block2 32000240002800130000250005001
block2 3300043000310001
block2 500004400026001

poppy章鱼 发表于 2021-11-19 14:52:13

suchocolate 发表于 2021-11-17 22:04
但是按照要求,不应该是这样的吗?

我描述不准确,还需要ID一致

poppy章鱼 发表于 2021-11-19 14:54:08

poppy章鱼 发表于 2021-11-19 14:52
我描述不准确,还需要ID一致

谢谢您
页: [1]
查看完整版本: 小白求助,python求一个文件的每行坐标是否在另外一个文件中