2016-07-15 2 views
-1

Я пишу программу, которая собирается торговать опционами. Использование google finance Я могу получить данные о параметрах в незавершенном json-файле.JSON реформирование

Данные можно найти here!

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

Пример данных:

{экспирации: {у: 2016, м: 7, д: 15}, истечения срока действия: [{у: 2016, м: 7, д: 15}], ставит: [{CID: "779929396002479", название: "", с: "AAPL160715P00050000", е: "OPRA", р: "0,01", CS: "CHB", гр: "0,00", ф: "0,00", б : "-", a: "0.01", oi: "2490", vol: "-", strike: "50.00", истечение: "15 июля 2016 года}}, base_id:" 22144 ", base_price: 98.599998}

Я знаю код C#, чтобы исправить это:

data = Regex.Replace(data, @"(\w+:)(\d+\.?\d*)", "$1\"$2\""); 
data = Regex.Replace(data, @"(\w+):", "\"$1\":"); 

Мне нужно преобразовать код C# в python или загрузить файл в python, любой орган может помочь?

ответ

0

Возможный дубликат: python .replace() regex

Вот ссылка на документацию Python 3.5, поищите функциональность библиотеки/языка, прежде чем публиковать здесь.

Вам нужно будет сделать следующие шаги для достижения этой цели в питона

Импорт регулярных выражений библиотеки

import re 

Прочитайте файл

with open('f-1.txt', 'r') as myfile: 
    data=myfile.read().replace('\n', '') 

использовать re.sub() выполнять свои Заменяет

data = re.sub("(\w+:)(\d+\.?\d*)", "$1\"$2\"", data); 
data = re.sub("(\w+):", "\"$1\":", data); 

Если вы хотите превратить этот json в объект python, вам нужно будет сделать следующее.

import json 
json_object = json.loads(data) 
+0

Это заменяет все значения на $ 1 или $ 2 ... но добавляет котировки – Usman

Смежные вопросы