Измените первый элемент в списке со строки на дату
У меня есть следующий текстовый файл, в котором есть эти списки :
['2009-06-12 14:19:28 ', '0'] ['2009-06-13 00:58:10 ', '0'] ['2009-06-13 01:00:25 ', '0'] ['2009-06-15 03:24:23 ', '0'] ['2009-06-25 17:50:46 ', '0'] ['2009-06-29 20:54:52 ', '0'] ['2009-06-30 20:31:19 ', '0'] ['2009-07-09 03:01:25 ', '0'] ['2009-07-12 14:45:53 ', '0'] ['2009-07-12 15:09:38 ', '0']
Второй элемент является целым числом, однако первый элемент является строкой. Мне нужно, чтобы первый элемент каждого lis был датой, а не строкой?
Я попробовал этот код:
word[0]=datetime.strptime(word[0],'%Y/%m/%d %H:%M:%S')
но я получаю эту ошибку:
ValueError: time data '2009-04-02 22:50:06 ' does not match format '%Y/%m/%d %H:%M:%S'
текущий код, который у меня есть, который очищает данные, выглядит следующим образом:
with open('newdata.txt') as f: for line in f: tweet=re.sub(r'T\t',"",line) t=re.sub(r'W\t',"\/\/",tweet) data=t.split("\/\/") sentiment_value= s.sentiment(data[1]) data.append(sentiment_value) words = [w.replace('pos', '1') for w in data] word=[w.replace('neg','0')for w in words] del word[1] print(word)
Что я уже пробовал:
Я попробовал этот код:
word[0]=datetime.strptime(word[0].strip(),'%Y/%m/%d %H:%M:%S')
но я получаю эту ошибку:
ValueError: time data '2009-04-02 22:50:06 ' does not match format '%Y/%m/%d %H:%M:%S'
Richard MacCutchan
У вас есть дефисы (-
) как разделители в вашей строке даты, но косые черты вперед (/
) в вашей строке формата.
Member 13647869
я изменил его на этот:
word[0]=datetime.strptime(word[0],'%Y-%m-%d %H:%M:%S')
и получил вот это:
ValueError: необращенные данные остаются:
Richard MacCutchan
Посмотрите на свои данные, там есть пробел после поля секунд. Ваша строка формата должна совпадать именно так.
Member 13647869
я поставил это место, или мне нужно его убрать?
Richard MacCutchan
Как я уже сказал выше.
Member 13647869
это точный формат
Member 13647869
ладно, я понял. это chnages но я получаю это,
[дата-время.дата-время(2009, 8, 31, 23, 58, 9), 1]
[дата-время.дата-время(2009, 8, 31, 23, 58, 9), 1]
[дата-время.дата-время(2009, 8, 31, 23, 58, 9), 1]
есть ли какой-нибудь способ удалить дату и время? или это как стандартный результат?
Richard MacCutchan
Я не понимаю вопроса.
Member 13647869
слова "датим", "датим", почему они добавлены? например, это формат свидания?
Richard MacCutchan
Без понятия. Пожалуйста, используйте Улучшить вопрос ссылка выше, и показать фактический код, который производит вывод или ошибку. Мы не можем догадаться, что вы делаете.