(Python / JSON / MySQL) Рекомендации по финансовым данным в JSON, которые не будут переданы в БД

0

У меня есть файл JSON с сырыми финансовыми данными, включая OHLC, объем, торги и т.д. Все данные, кроме OHLC, будут правильно переданы в базу данных MySQL, которую я настраиваю. Данные OHLC только как нули после передачи в базу данных. Исходные данные json выглядят следующим образом:

[[1512086400000, "0,00001204", "0,00001209", "0,00001161", "0,00001183", "771721.00000000", 1512086699999, "9.10638040", 126, "359700.00000000", "4.22792312", "52516956.22676400"], [1512086700000, "0,00001189 "0,00001194", "0,00001183", "0,00001189", "119120.00000000", 1512086999999, "1.41575664", 44, "49016.00000000", "0,58377518", "52659721.84287900"], [1512087000000, "0,00001191", "0,00001196", "0,00001183", [1512087600000, "0,00001187", "0,00001190", "0,00001171", "0,00001174", "312477.00000000", 1512087899999, "3.69618651", 63, "155121.00000000", "1.84118817", "53289721.44287900"],......

Если первым значением является время, следующие четыре значения в кавычках - это данные OHLC, а следующее значение в котировках - это объем. Я изначально подозревал, что котировки по какой-то причине не позволили получить перевод, хотя странно объем тоже в кавычках и без каких-либо проблем переходит в мою базу данных.

Я рассмотрел итерирование файла и копирование его в другой json файл, извлекая кавычки. Однако я не уверен, если это усилится, поэтому я хочу посмотреть, что будет советом тех, кто может знать лучше.

  • 0
    что именно проблема здесь? Вопрос кажется неясным.
  • 0
    @Mufeed, извинения. Я отредактировал вопрос, чтобы прояснить проблему. Данные OHLC передаются в базу данных как 0, в то время как остальные данные отображаются с правильными значениями.
Показать ещё 2 комментария
Теги:
database
financial

1 ответ

0
Лучший ответ

Ну, похоже, это список списков, поэтому вы можете преобразовать значения строк в десятичные значения с помощью numpy, как показано ниже:

a=[[1512086400000, "0.00001204", "0.00001209", "0.00001161", "0.00001183", "771721.00000000", 1512086699999, "9.10638040", 126, "359700.00000000", "4.22792312", "52516956.22676400"],
   [1512086700000, "0.00001189", "0.00001194", "0.00001183", "0.00001189", "119120.00000000", 1512086999999, "1.41575664", 44, "49016.00000000", "0.58377518", "52659721.84287900"]]

Преобразование этого списка в массив numpy:

import numpy as np
a=np.array(a)
a.astype(np.float)
print(a)

Выход:

[[1.51208640e+12 1.20400000e-05 1.20900000e-05 1.16100000e-05
  1.18300000e-05 7.71721000e+05 1.51208670e+12 9.10638040e+00
  1.26000000e+02 3.59700000e+05 4.22792312e+00 5.25169562e+07]
 [1.51208670e+12 1.18900000e-05 1.19400000e-05 1.18300000e-05
  1.18900000e-05 1.19120000e+05 1.51208700e+12 1.41575664e+00
  4.40000000e+01 4.90160000e+04 5.83775180e-01 5.26597218e+07]]

Ещё вопросы

Сообщество Overcoder
Наверх
Меню