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