用CSV方式重写挑选仪器起止编号的Python程序

本文介绍了一个使用Python处理CSV文件的方法,该方法首先按照文件中的名称和编号进行排序,然后通过程序进一步处理数据,如添加结束编号和数量等字段。

CSV文件先按名称,编号的方式排序,然后再用程序操作

import csv

#首先,打开要输入的csv文件 Python 3.3.2通过
with open(r'c:\gyjj.csv', newline='') as f:
    reader = csv.reader(f)
    #打开输出文件
    with open('out.csv', 'w',newline='') as csvfile:
        spamwriter = csv.writer(csvfile, dialect='excel')
        n,num=0,1
        for row in reader:            
            #第一个if处理首行,或直接写入输出文件,只运行一次
            if n==0:
                n+=1
                row2=row
                row2.insert(1,"结束编号")
                row2.insert(4,"数量")
                spamwriter.writerow(row2)
                continue
            #第二个if处理首行后的第一个数据行,记为T,以T为参考进行下面的迭代,只运行一次
            if n==1:
                t=row
                n+=1
                continue
            #第三个if 从处理首行后的第二个数据行开始,如果与参考行相同则进行下一条,
            #并同时记下结束号,一但不同名了,则将结束号与数量写入参考行,T重置。
            if row[2]==t[2]:
                num+=1
                endNo=row[0]
                continue
            else:
                t.insert(1,endNo)
                t.insert(4,str(num))
                #显示结果
                print("result:",t[0],t[1],t[3],t[4])
                #将结果写入文件
                spamwriter.writerow(t)
                #重置参考行与计数,结束编号
                num=1
                t=row
                endNo=row[0]


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值