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]