У меня есть строка с переменной длиной, и я хочу дать формат strptime
, чтобы остальная часть строки была проигнорирована. Позвольте мне привести пример. У меня есть что-то вродеdatetime strptime - установить формат для игнорирования конечной части строки
9/4/2013,00:00:00,7.8,7.4,9.53
10/4/2013,00:00:00,8.64,7.4,9.53
и я хочу, формат, который делает работу команды strptime(line,format)
читать эти строки. Что-то вроде format='%d/%m/%Y,%H:%M:%S*'
, хотя я знаю, что это не работает. Я думаю, мой вопрос похож на this one, но никакой ответ там не может помочь мне, и моя проблема немного хуже, потому что полная длина моей строки может отличаться. У меня такое чувство, что dateutil
может решить мою проблему, но я не могу найти что-то там, что делает трюк.
Возможно, я могу сделать что-то вроде strptime(''.join(line.split(',')[:2]),format)
, но я бы не хотел прибегать к этому по вопросам, связанным с пользователем.
Я дал решение построить динамическую строку формата. Примите мой ответ. –
Это сводится к расширению запроса на strptime, чтобы разрешить произвольные регулярные выражения, по крайней мере в конечной части строки: 'format = '% d /% m /% Y,% H:% M:% S. *''. Это общая просьба и заслуживает внимания. Фактически [люди просили его в течение 13 лет] (https://bugs.python.org/issue1006786). – smci