Python 检查CSV中是否缺少值

Python 检查CSV中是否缺少值,python,csv,timestamp,Python,Csv,Timestamp,我有一个CSV文件,每15分钟计算一次时间戳中的数据。 我需要尝试找出如何查看,如果文件中缺少任何15分钟。但是我不能让代码100%工作 希望你能帮忙 首先,我从csv中获取数据并将其设置为时间戳。格式为yyyy-mm-dd-hh:mm lst = list() with open("CHFJPY15.csv", "r") as f: f_r = f.read() sline = f_r.split() for line in sline: parts = line.spl

我有一个CSV文件,每15分钟计算一次时间戳中的数据。 我需要尝试找出如何查看,如果文件中缺少任何15分钟。但是我不能让代码100%工作

希望你能帮忙

首先,我从csv中获取数据并将其设置为时间戳。格式为yyyy-mm-dd-hh:mm

lst = list()

with open("CHFJPY15.csv", "r") as f:
    f_r = f.read()

sline = f_r.split()

for line in sline:
    parts = line.split(',')
    date = parts[0]
    time = parts[1]
    closeingtime = parts[5]

    timestamp = date + ' ' + time + ' ' + closeingtime
    lst.append(timestamp)

print(lst, "liste")
(以下代码的所有学分归BillBell所有) 这里尝试创建一个格式一致的数据项列表

from datetime import timedelta
interval = timedelta(minutes=15)
from datetime import datetime
current_time = datetime(2015,12,9,19,30)
data = []
omits = [3,5,9,11,17]
for i in range(20):
    current_time += interval

    if i in omits:
        continue
    data.append(current_time.strftime('%y.%m.%d.%H:%M')+' 123.456')
现在我通读了日期,从中减去每一个。我将第一个“前置日期”设置为“前置日期”,我将其称为“前置日期”到“现在”,因为这必然与其他日期不同

我将列表中的每个数据分成两部分,忽略第二部分。我使用strtime将字符串转换为日期。可以减去日期并比较差异

previous = datetime.now().strftime('%y.%m.%d.%H:%M')
first = True
for d in data:
    date_part, other = d.split(' ')
    if datetime.strptime(date_part, '%y.%m.%d.%H:%M') - datetime.strptime(previous, '%y.%m.%d.%H:%M') != interval:
        if not first:
            'unacceptable gap prior to ', date_part
        else:
            first = False
    previous = date_part

希望您能看到问题。

您说您无法让它100%正常工作,那么它在做什么,它没有做什么?您已经包含了我的一个答案()中的代码和文本。这里和其他地方的作者都有自己的功劳。对不起@BillBell是的,我当然应该归功于你。谢谢。请您具体说明出了什么问题?您是否可以编辑该问题以准确显示您的CSV文件的外观,即10行左右。并显示您对该数据的预期输出。您说您无法让它100%工作-那么它在做什么,它没有做什么?您已经包含了我的一个答案()中的代码和文本。这里和其他地方的作者都有自己的功劳。对不起@BillBell是的,我当然应该归功于你。谢谢。请您具体说明出了什么问题?您是否可以编辑该问题以准确显示您的CSV文件的外观,即10行左右。并显示该数据的预期输出。