Was ich versuche zu tun:Valueerror: Zeitdaten '' nicht mit Format '% d-% m-% Y% H:% M:% S'
- Delete all rows where csv date is lower than 25.05.2016 23:59
- Save the file with a different name
Ich habe die folgende in Daten in einer cSV-col A
WFQVG98765
FI Quality-Value-Growth
Some Random String 1
Datum
13-05-2016 23:59
14-05-2016 23:59
15-05-2016 23:59
16-05-2016 23:59
17-05-2016 23:59
18-05-2016 23:59
19-05-2016 02:03
.
.
.
.
Dies ist, was ich jetzt versucht haben
import csv
import datetime
from dateutil.parser import parse
def is_date(string):
try:
parse(string)
return True
except ValueError:
return False
'''
1. Delete all rows where csv date is lower than 25.05.2016 23:59
2. Save the file with a different name
'''
cmpDate = datetime.datetime.strptime('25.05.2016 23:59:00', '%d.%m.%Y %H:%M:%S')
with open('WF.csv', 'r') as csvfile:
csvReader = csv.reader(csvfile, delimiter=',')
for row in csvReader:
print (row[0])
if is_date(row[0]) and not row[0].strip(' '):
csvDate = datetime.datetime.strptime(row[0], '%d-%m-%Y %H:%M:%S') 'Error Here : ValueError: time data '' does not match format '%d-%m-%Y %H:%M:%S'
Ich habe auch versucht, dies für die Fehlerzeile
csvDate = datetime.datetime.strptime(row[0], '%d-%m-%Y %H:%M') 'But got the same error
if csvDate<cmpDate:
print (row[0]+'TRUE')
Here how can I delete the row if the condition is true and finally save it with a different name ?
Danke, aber ich weiß nicht, warum es eine leere Zeile zwischen den beiden Zeilen und das funktioniert nicht wirklich, dh in der output.csv-Datei habe ich alle Zeilen aus der Eingabedatei:/ – newguy
@newguy verwendet Ihre Eingabe csv ',' als Trennzeichen? Hat es ein Datum in der ersten Reihe? Kannst du die ersten paar Zeilen aus deiner CSV-Datei mit einem Header versehen? – kardaj
Die Frage hat den genauen Text, was in der CSV-Spalte A und ja ',' ist das Trennzeichen für meine CSV – newguy