楼主: 1048581555
3533 2

[其他] [求助]python如何匹配合并两个文件 [推广有奖]

  • 0关注
  • 0粉丝

高中生

25%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
427 点
帖子
12
精华
0
在线时间
34 小时
注册时间
2015-2-16
最后登录
2022-8-6

楼主
1048581555 发表于 2015-12-4 16:37:17 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我有两个文本文件A文件:
nm1 ID
a q1|q2
b q3
c q2|q5|q6
d q4


B文件:
nm2 ID
u q1
i q2
o q3
p q4
t q5
y q6

现在想要根据ID把B匹配到A后面。A可能有很多个ID(以“|”分隔开),所以可能匹配到多个B,  希望得到
a u i
b o
c i t y
d p

请问如何实现,非常感谢~~

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python 非常感谢 文本文件 如何实现 如何 python

沙发
开心1101 发表于 2015-12-6 22:12:06
###############
cat a.txt
nm1 ID
a q1|q2
b q3
c q2|q5|q6
d q4
################
cat b.txt
nm2 ID
u q1
i q2
o q3
p q4
t q5
y q6
#####python code here###
from itertools import islice  

def main():
        f_a = "a.txt"
        f_b = "b.txt"

        dd={}
        for line in islice(open(f_b,"r"),1,None):
                key=line.split(' ')[1].replace('\n','')
                value=line.split(' ')[0]
                dd[key]=value
        
        for line in islice(open(f_a,"r"),1,None):
                #print line,
                h=line.split(' ')[0]
                content=line.split(' ')[1].replace('\n','').split('|')
                #print h,content
                s=''
                for a in content:
                        s=s+' '+dd[a]
                print h,s

if __name__ == '__main__':
        main()
########result######
a  u i
b  o
c  i t y
d  p
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
1048581555 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
909664934 发表于 2016-1-6 06:56:31 来自手机
是不是可以把两个文件读出来存到dict里面去。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 05:44