np.loadtxt datetime error: data ValueError: time data '2018-10-01 11: 29: 40.475195' не соответствует формату '% Y-% m-% d% H:% M:% S.% f' - PullRequest
0 голосов
/ 09 октября 2018

У меня есть файл .txt со следующими данными:

2018-10-01 11:29:31.147695, -1.006520e-01, 2018-10-01 11:29:40.475195, 1.021820e-01, 2018-10-01 11:29:42.835195, -2.164020e-01

Теперь я хочу загрузить .txt с np.loadtxt.У меня есть:

convertfunc =lambda x : dt.datetime.strptime(x.decode("ascii"), '%Y-%m-%d %H:%M:%S.%f')
min_max = np.loadtxt("file.txt", delimiter=',', converters={0: convertfunc, 2: convertfunc, 4: convertfunc})

возникает следующая ошибка:

convertfunc =lambda x : dt.datetime.strptime(x.decode("ascii"), '%Y-%m-%d %H:%M:%S.%f')
min_max = np.loadtxt(r"C:\Users\mdk\Desktop\93307\location_1.txt", delimiter=',', converters={0: convertfunc, 2: convertfunc, 4: convertfunc})

Может кто-нибудь помочь мне с решением?

1 Ответ

0 голосов
/ 09 октября 2018

Перед строкой даты есть дополнительный пробел.Обратите внимание на сообщение об ошибке:

' 2018-10-01 11:29:40.475195'

Это происходит для всех, кроме первой записи, потому что ваш разделитель на самом деле ,<space>, а не ,.

В настоящее время я не могупротестируйте его, но у вас должно быть два варианта:

  1. Удалять пробелы перед синтаксическим анализом:

    convertfunc = lambda x : dt.datetime.strptime(x.decode("ascii").strip(), '%Y-%m-%d %H:%M:%S.%f')
    
  2. Используйте ', ' в качестве разделителя вместо','

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...