[在(Python)中读取csv文件时,读取前一行

问题描述 投票:-1回答:1

我有一个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)
python excel file csv row
1个回答
0
投票

enter image description here此图像描述了使用它的csv文件的数据

© www.soinside.com 2019 - 2024. All rights reserved.