Я бы хотел загрузить некоторые данные в формате csv с помощью genfromtxt numpy. Я борюсь с правильным типом данных для поля времени.
Для обеих версий parse_time я получаю ту же ошибку, которая говорит
Невозможно привести объект datetime.datetime из метаданных [us] в соответствии с
к правилу same_kind
Это мой код:
import numpy as np
import datetime as dt
parse_time = lambda x: dt.datetime.strptime(x.decode('utf-8'), "%Y-%m-%dT%H:%M:%S.%fZ")
parse_time2 = lambda x: np.datetime64(dt.datetime.strptime(x.decode('utf-8'), '%Y-%m-%dT%H:%M:%S.%fZ'))
col_names = ['Time','Temperature','Humidity']
lines = ['2018-10-03T11:28:35.325Z;23.0;17.0', '2018-10-03T11:28:35.325Z;23.0;17.0']
np.genfromtxt(lines, delimiter=';',dtype=[('Time',"datetime64"),('Temperature','f'),('Humidity','f')], converters={"Time": parse_time2},names=col_names)
Это трассировка стека:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-96-cd725618b291> in <module>
7 lines = ['2018-10-03T11:28:35.325Z;23.0;17.0', '2018-10-03T11:28:35.325Z;23.0;17.0']
8
----> 9 a = np.genfromtxt(lines, delimiter=';',dtype=[('Time',"datetime64"),('Temperature','f'),('Humidity','f')], converters={"Time": parse_time},names=col_names)
~/.local/lib/python3.6/site-packages/numpy/lib/npyio.py in genfromtxt(fname, dtype, comments, delimiter, skip_header, skip_footer, converters, missing_values, filling_values, usecols, names, excludelist, deletechars, replace_space, autostrip, case_sensitive, defaultfmt, unpack, usemask, loose, invalid_raise, max_rows, encoding)
2163 output = np.array(data, dtype=dtype)
2164 else:
-> 2165 rows = np.array(data, dtype=[('', _) for _ in dtype_flat])
2166 output = rows.view(dtype)
2167 # Now, process the rowmasks the same way
TypeError: Cannot cast datetime.datetime object from metadata [us] to according to the rule 'same_kind'