3 回答

TA贡献1818条经验 获得超7个赞
关于您的代码的一些注释。
import csv
import datetime
with open('file1.csv', 'rb')as csvfile:
filereader = csv.reader(csvfile, delimiter=',')
for headers in range(2):
next(filereader, None)
for column in filereader:
date = column[0]
parsed_date = datetime.strptime(date, '%H:%M:%S') #this var will be recreated on each loop iteration
with open('file2.csv', 'rb')as csvfile:
filereader2 = csv.reader(csvfile, delimiter=',')
for headers in range(2):
next(filereader2, None)
for column2 in filereader:
date2 = column2[0]
parsed_date = datetime.strptime(date, '%H:%M:%S')
time_delta = (parsed_date - parsed_date2) # parsed_date2 - doesn't exist as was never created, time_delta is lost on each iteration
这意味着您会不断丢失要处理的数据。为了解决您的问题,只需先读取文件,然后再处理读取数据:
import csv
import datetime
first_file_dates = []
second_file_dates = []
with open('file1.csv', 'rb')as csvfile:
filereader = csv.reader(csvfile, delimiter=',')
for headers in range(2):
next(filereader, None)
for column in filereader:
first_file_dates.append(datetime.strptime(column[0], '%H:%M:%S'))
with open('file2.csv', 'rb')as csvfile:
filereader2 = csv.reader(csvfile, delimiter=',')
for headers in range(2):
next(filereader2, None)
for column in filereader:
second_file_dates.append(datetime.strptime(column[0], '%H:%M:%S'))
for k,v in zip(first_file_dates, second_file_dates):
print(k-v)
请注意,该 zip 会将生成的对象长度剪切为最短数组。
添加回答
举报