On 24/12/2013 00:30, Igor Korot wrote:
Hi, ALL,
I'm working on the python script which reads the data from the csv file.
In this file I have 3 different kind of fields: one consist of the
sole date, one - sole time and one - datetime. The time includes
milliseconds, i.e. "12:55:55.705"
All fields of the file including those 3 I am reading as the string.
All those strings after validating will go into mySQL table.

Now, it looks that the python way of validating the date/time of the
string is to call strptime(). However looking at the docs and trying
to use the function I didn't find a way to check for the milliseconds.
Now the dates can be formatted differently I think according to the
locale under which the csv is generated.

So, my question is: since there is a simple way of inserting
preformatted string into the datetime field of mySQL, how do I
validate the date string?
I don't want to convert that string to datetime object, just want to
check if all those types of dates are good dates and does not contain
garbage.

I tried to do an RE, but its static validation and so will not work in
all cases.

Thank you for any hints.


You actually need the %f format code for milliseconds, not microseconds. Note 5 from http://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior "When used with the strptime() method, the %f directive accepts from one to six digits and zero pads on the right. %f is an extension to the set of format characters in the C standard (but implemented separately in datetime objects, and therefore always available)"

--
My fellow Pythonistas, ask not what our language can do for you, ask what you can do for our language.

Mark Lawrence

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to