Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果文件中的日期相同,则打印消息_Python_File_Datetime - Fatal编程技术网

Python 如果文件中的日期相同,则打印消息

Python 如果文件中的日期相同,则打印消息,python,file,datetime,Python,File,Datetime,我现在的代码 start = datetime.strptime(startDate, "%d/%m/%Y") end = datetime.strptime(endDate,"%d/%m/%Y") with open("filename.txt", "r") as f: alldata = csv.reader(f, delimiter = "|") for line in alldata: alldataLine = datetime.strptime

我现在的代码

start = datetime.strptime(startDate, "%d/%m/%Y")
end   = datetime.strptime(endDate,"%d/%m/%Y")

with open("filename.txt", "r") as f:
    alldata = csv.reader(f, delimiter = "|")

    for line in alldata:
        alldataLine = datetime.strptime(line[0], "%d/%m/%Y")
        if alldataLine >= start and alldataLine <= end :
            print("{0} --> {1}".format(line[0], line[1]))
我想要的是,如果我有相同的日期,我想我的程序在最后一个相同的日期之后打印一些东西

例如:

30/12/2015 - 31/12/2015

30/12/2015 --> 3990.0
30/12/2015 --> 6190.0
"one date"

31/12/2015 -->12304.0
"one date"

我试图将第[0]行与第[0]行进行比较,但它会在每个日期后打印“一个日期”。

使用
枚举
并检查前后的行:

with open("filename.txt", "r") as f:
    alldata = f.readlines()
    for i, line in enumerate(alldata):
        alldataLine = datetime.strptime(line.split('|')[0], "%d/%m/%Y")
        if alldataLine >= start and alldataLine <= end :
            print("{0} --> {1}".format(line.split('|')[0], line.split('|')[1]))
        try:
            if line.split('|')[0] == alldata[i - 1].split('|')[0] and line.split('|')[0] != alldata[i + 1].split('|')[0]:
                print("one date")
        except IndexError:
            pass
打开(“filename.txt”,“r”)作为f:
alldata=f.读线()
对于i,枚举中的行(alldata):
alldataLine=datetime.strtime(line.split(“|”)[0],%d/%m/%Y)

如果alldataLine>=start和alldataLine@BullzY,那么测试它怎么样?:)TypeError:“_csv.reader”对象是不可订阅的,它会在try and catch行上弹出我尝试过但没有try and catch,也没有错误,“nothing'list”对象没有“split”属性谢谢,最后它工作了,我想我浪费了时间,但我会弄清楚我需要做什么。我应该写在开头。。。
with open("filename.txt", "r") as f:
    alldata = f.readlines()
    for i, line in enumerate(alldata):
        alldataLine = datetime.strptime(line.split('|')[0], "%d/%m/%Y")
        if alldataLine >= start and alldataLine <= end :
            print("{0} --> {1}".format(line.split('|')[0], line.split('|')[1]))
        try:
            if line.split('|')[0] == alldata[i - 1].split('|')[0] and line.split('|')[0] != alldata[i + 1].split('|')[0]:
                print("one date")
        except IndexError:
            pass