2015-11-08 2 views
-1

Я хочу извлечь дату из текстового файла. Дата написана так: word-January 05, 2015-word.Python dateutil ValueError: неизвестный формат строки

from dateutil import parser 

content = "" 

data = open("some_doc.txt", "r") 
for line in data: 
    content = content + line 
content = str(content) # I don´t think that this is necessary but just to be sure 

d = parser.parse("content", fuzzy = True) 

Этот кусок кода всегда дает мне следующую ошибку:

Traceback (most recent call last): 
    File "C:/", line 16, in <module> 
    parser.parse(content, fuzzy = True) 
    File "C:\", line 698, in parse 
    return DEFAULTPARSER.parse(timestr, **kwargs) 
    File "C:\", line 304, in parse 
    raise ValueError("unknown string format") 
ValueError: unknown string format 

ли кто-то знает, что я должен изменить или имеет другое решение для извлечения даты в этом формате?

+0

Это не я тоже пробовал, но я получаю ту же ошибку – marvin1849

+0

Есть ли несколько дат в файле? Если да, возможно, вы хотите разобрать каждую строку? Я думаю, что вы видите проблему, потому что вы анализируете несколько дат одновременно с контентом. Я также предполагаю, что вы имели в виду parser.parse (контент, fuzzy = True), а не «контент»? – pcm

ответ

0

Что вы можете сделать, это проанализировать содержимое с помощью регулярного выражения, а затем использовать синтаксис dateutils.

делитесь содержимым файла, чтобы помочь вам лучше.

PD: Извините, мой английский.

С уважением.

0

Я думаю, что вы можете поместить синтаксический разбор в строку «for» вместо цикла «content», поскольку parse() не работает, если более одной даты.

Это будет анализировать каждую строку файла и получать дату из строки (при условии, что у вас есть> 1 дата в файле).

Смежные вопросы