python 实现类似数据库的left join查询
类似数据库的leftjoin查询[root@ecmsmytest]#cata.txt111aaa222bbb333cccc444ddd[root@ecmsmytest]#...
类似数据库的left join查询
[root@ecms mytest]# cat a.txt
111 aaa
222 bbb
333 cccc
444 ddd
[root@ecms mytest]# cat b.txt
111 123 456
2 abc cbd
444 rts 786
输出结果:
111,aaa,123,456
444,ddd,rts,786
PYTHON 如何实现?? 展开
[root@ecms mytest]# cat a.txt
111 aaa
222 bbb
333 cccc
444 ddd
[root@ecms mytest]# cat b.txt
111 123 456
2 abc cbd
444 rts 786
输出结果:
111,aaa,123,456
444,ddd,rts,786
PYTHON 如何实现?? 展开
2个回答
展开全部
给个思路吧,不写代码了,
1.首先选择出首列相同的行,我之前写过小代码给你借鉴:
file = open('a.txt')
a = []
b = []
c = []
for line in file:
a.append(line)
b.append([line.split()[0],0])
c.append(line.split()[0])
print a
print b
for n in c:
for i in range(0,len(b)):
if n == b[i][0]:
b[i][1]=b[i][1]+1
print b
for j in range(0,len(b)):
if b[j][1]==2:
print a[j]
file.close
2.然后合并向同行,然后用set去重,
3.输出,OK
1.首先选择出首列相同的行,我之前写过小代码给你借鉴:
file = open('a.txt')
a = []
b = []
c = []
for line in file:
a.append(line)
b.append([line.split()[0],0])
c.append(line.split()[0])
print a
print b
for n in c:
for i in range(0,len(b)):
if n == b[i][0]:
b[i][1]=b[i][1]+1
print b
for j in range(0,len(b)):
if b[j][1]==2:
print a[j]
file.close
2.然后合并向同行,然后用set去重,
3.输出,OK
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询