Как правильно преобразовать эту CSV-структуру в Pyhton (массив numpy)? - PullRequest
0 голосов
/ 19 мая 2019

Эй, я получил кучу следующих данных (это всего одна ячейка):

"2014.01.01 23:00:00 1.37550 1.37648 1.37372 1.37580 2671 0 4"

Я хочу отформатировать его с помощью функции np.loadtxt из numpy, чтобы сохранить его в разных массивах ...

Я пытался сделать это с помощью Excel (но долгосрочная цель состоит в том, чтобыпреобразовать его полностью автоматически.) Я хочу создать 8 массивов, которые состоят из приведенных выше данных.В конце концов, это должно соответствовать следующей функции:

date, openprice, highprice, lowprice, closeprice, Tickvolume, volume, spread = 
np.loadtxt(file_name, unpack=True, #delimiter="\t",skiprows=1,
                            converters={0: mdates.bytespdate2num('%Y%m%d %H%M%S')})

Но: я всегда получаю что-то вроде этого:

"ValueError: time data '"2014.01.01' does not match format '%Y%m%d %H%M%S'"

, так что это мой вопрос: как я могу это сделать?это верно?

большое спасибо.Я пытался найти ответ на Google и бороться с NumPy целый день.

Я уже пытался изменить формат даты:

'%Y%m%d %H%M%S''%Y%m%d %H:%M:%S' '%Y%m%d%H%M%S' '%Y%m%d %H:%M:%S' %Y.%m.%d %H%M%S''%Y.%m.%d %H:%M:%S' '%Y.%m.%d.%H%M%S' '%Y.%m.%d %H:%M:%S'

Также япопытался разделить их в Excel , но я все еще не мог заставить его работать, даже если дата и время были в 2 разных столбцах.Также я не смог отделить последние два столбца от остальных, потому что количество цифр во всей ячейке варьируется примерно на 1 или 2 цифры.

import numpy as np
import matplotlib.dates as mdates

date, openprice, highprice, lowprice, closeprice, Tickvolume, volume, spread =  = np.loadtxt(file_name, unpack=True, delimiter="\t",skipr
                            converters={0: mdates.bytespdate2num('%Y%m%d %H%M%S;')},usecols=[0,1,2,3,4])

Вот заголовок файла Ecxel csv (снова:это только один столбец):

"<DATE> <TIME>  <OPEN>  <HIGH>  <LOW>   <CLOSE> <TICKVOL>   <VOL>   <SPREAD>"
"2014.01.01 23:00:00    1.37550 1.37648 1.37372 1.37580 2671    0   4"
"2014.01.02 00:00:00    1.37581 1.37730 1.37578 1.37645 2914    0   4"
"2014.01.02 01:00:00    1.37645 1.37684 1.37581 1.37586 2182    0   4"
"2014.01.02 02:00:00    1.37585 1.37662 1.37504 1.37626 2535    0   4"

Цель: успешно преобразовать эти файлы с помощью функции np.loadtxt или аналогичной функции numpy / matplotlib.

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