我有一个CSV文件,我想在运行代码时计算两行之间的间隔。
该文件包含15行,程序仅写入7行。
例如:
第一行16-SEP-16 12.32.27.910000000 AM
间隔时间0
间隔分钟0
间隔秒0
第二行18-SEP-16 05.34.30.910000000 PM
间隔时间5
间隔分钟2
间隔秒3
import csv
with open('G:\\work\\testf.csv', 'r') as read_obj, \
open('G:\\work\\testout.csv', 'a',newline='') as write_obj:
datain = csv.reader(read_obj)
next(datain)
dataout = csv.writer(write_obj)
#write first row with interval 0
row.append('0')
row.append('0')
row.append('0')
dataout.writerow(row)
for row in datain:
block = [next(datain)]
pre= block[-1][2]
prest =pre[2][29:]
prehour =pre[10:-19]
premin=pre[13:-16]
presec=pre[16:-13]
if prest == 'PM':
prehour=int(prehour)+int(12)
print(prehour)
print ("output row : ")
print(row)
print("\n")
pre= block[-1][2]
print(pre)
st =row[2][29:]
hour =row[2][10:-19]
min=row[2][13:-16]
sec=row[2][16:-13]
if st == 'PM':
hour=int(hour)+int(12)
print(st)
print(hour)
print (min)
print(sec)
#row.append(float(row[4])+float(row[6]))
print ("input row : ")
print(row)
intervalhour =int(prehour)-int(hour)
intermin = int(premin)- int(min)
intervalsec= int(presec)-int(sec)
print(intervalhour)
print(intermin)
print(intervalsec)
row.append(intervalhour)
row.append(intermin)
row.append(intervalsec)
dataout.writerow(row)
enter image description here此图像描述了使用它的csv文件的数据