免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1707 | 回复: 2

奇怪的循环 [复制链接]

论坛徽章:
0
发表于 2009-12-15 14:13 |显示全部楼层
今天处理两个文件,要将“b.csv”文件的4、3个域和“a.csv”文件的1、2域比较,然后将匹配后的“a.csv”的3、4域加到文件“b.csv”的行后面,两个文件内容如下:
b.csv内容:
asda,asdfasd,b,a
lkjl,lklkj,d,c
aasdfa,asdfasdf,k,j

a.csv内容:
a,b,asdfasd,23
a,b,asdfasd,20
a,b,asdfasd,29
c,d,lklkk,30
c,d,lklkk,33
c,d,lklkk,20
c,d,lklkk,40
c,d,lklkk,30

写了两个循环,奇怪的事出现了,从第二行开始里面的循环就好象不起作用,各位大哥帮忙看看,下面是代码:
f1 = open('b.csv','r')
f2 = open('a.csv','r')
f3 = open('target.csv','w')

for i in f1:
    print i
    list = []
    a = i.rstrip().split(',')[3] + i.split(',')[2]
    print "a: %s" % a
    for m in f2:
        b = m.split(',')[0] + m.split(',')[1]
        print "b: %s" % b
        if (a == b):
            x = m.split(',')[2] + ',' + m.split(',')[3]
            print x
            list.insert(0,x)
            print list
    if list:
        c = 0
        for n in list:
            d = int(n.split(',')[1].rstrip())
            if d > c:
                c = d
                e = n.split(',')[0] + ',' + str(c)
        o = i.split('\n')[0] + ',' + e +  '\n'
        f3.write(o)
    else:
        o = i.split('\n')[0] + ',' + 'NULL' + ',' + 'NULL' + '\n'
        f3.write(o)
f1.close()
f2.close()
f3.close()

下面是加上print几个变量的执行结果:
asda,asdfasd,b,a

a: ab
b: ab
asdfasd,23

['asdfasd,23\n']
b: ab
asdfasd,20

['asdfasd,20\n', 'asdfasd,23\n']
b: ab
asdfasd,29

['asdfasd,29\n', 'asdfasd,20\n', 'asdfasd,23\n']
b: cd
b: cd
b: cd
b: cd
b: cd
lkjl,lklkj,d,c

a: cd
aasdfa,asdfasdf,k,j

a: jk

论坛徽章:
0
发表于 2009-12-15 18:36 |显示全部楼层
在for m in f2:循环中的最后
f2.seek(0)

论坛徽章:
0
发表于 2009-12-16 11:36 |显示全部楼层

回复 #2 nmweizi 的帖子

果然是这个问题,谢谢楼上的兄弟
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,8.5折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时8.5折扣期:2019年9月30日前


----------------------------------------

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP