我很好奇是否有像unix版本这样的内置python连接函数(参见http://linux.about.com/library/cmd/blcmdl_join.htm).我知道这个功能是通过内置的sqlite3模块包含的,也可能是通过pytables之类的其他模块.
很抱歉,如果这是一个基本问题,但我发现搜索"python join"和相关查询受到标准python join函数的严重污染.此外,如果没有这样的功能,我不希望这么容易找到这些信息.
这是一个连接函数的python版本,不处理所有潜在的错误情况.但是展示了基本的想法.
# usage join(open('f1.txt'), open('f2.txt'))
def join(fd_a, fd_b) :
result = []
la = fd_a.readline()
lb = fd_b.readline()
while la and lb :
start_a, rest_a = la.split(' ', 1)
start_b, rest_b = lb.split(' ', 1)
if cmp(start_a, start_b) == 0 :
result.append([start_a, [rest_a, rest_b]])
la = fd_a.readline()
lb = fd_b.readline()
elif cmp(start_a, start_b) < 0 :
la = fd_a.readline()
else :
lb = fd_b.readline()
return result
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2435 次 |
| 最近记录: |