python 合并行

发布时间:2019-08-13 07:40:02编辑:auto阅读(1381)

    cat 1
    4056 78 
    4056 198 
    7717 98 
    7717 218 
    7718 98 
    7718 218 
    7719 98 
    7719 99 
    7719 218 
    7719 219 
    7720 98 
    7720 99 
    7720 218 
    7720 219 
    7720 220
    7720 221

    #!/usr/bin/env python
    import re
    file=open("./1","r")
    dict={}
    for  line in file:
       line=line.strip()
       key=line.split()[0]
       value=line.split()[1]
       dict.setdefault(key,[]).append(value)
    for k in dict.keys():
       values=dict[k]
       #print values
       a=[]
       n=len(values)
       for i in range(0,n-1):
             if(int(values[i+1])==int(values[i])+1):
                a.append(values[i])
                a.append("-")
                if i==n-2:
                   a.append(values[n-1])
             else:
                a.append(values[i])
                a.append(",")
                if i==n-2:
                   a.append(values[n-1])
       value=''.join(a)
       value=re.sub("-[0-9 -]*-","-",value)
       print k,value

    7719 98-99,218-219
    4056 78,198
    7720 98-99,218-221
    7717 98,218
    7718 98,218




关键字