MrPink said:
I have file of records delimited by spaces.
I need to import the date string and convert them into date datatypes.
'07/27/2011' 'Event 1 Description'
'07/28/2011' 'Event 2 Description'
'07/29/2011' 'Event 3 Description'
I just discovered that my oDate is not an object, but a structure and
not a date datatype.
I'm stumped. Is there a way to convert a string into a date datatype
for comparisons, equality, etc?
Thanks,
That looks like a fifty-percent chance to try the "wrong" module
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: type object 'datetime.date' has no attribute 'strptime'
So you cannot construct a date from a date string either.
One more time:
datetime.date(2011, 7, 27)
$ cat csv_dates.csv
'07/27/2011' 'Event 1 Description'
'07/28/2011' 'Event 2 Description'
'07/29/2011' 'Event 3 Description'
$ cat csv_dates.py
import datetime
import csv
def rows(instream):
for row in csv.reader(instream, delimiter=" ", quotechar="'"):
row[0] = datetime.datetime.strptime(row[0], '%m/%d/%Y').date()
yield row
if __name__ == "__main__":
import sys
filename = sys.argv[1]
with open(filename, "rb") as instream:
for row in rows(instream):
print row
$ python csv_dates.py csv_dates.csv
[datetime.date(2011, 7, 27), 'Event 1 Description']
[datetime.date(2011, 7, 28), 'Event 2 Description']
[datetime.date(2011, 7, 29), 'Event 3 Description']