Dunaevlad
@Dunaevlad

Как достать нужное значение из строки?

Не знаю как достать из строки только название ставки и коэффициент
["pinnacle","update_markets","PINTN97C6CD59FD7","9122741,0",[["TOTALS__OVER(22.5)",0,"1.806","","{\"key\":\"s;0;ou;22.5\",\"market_name\":\"totals\",\"dest\":\"over\",\"matchup_id\":1436579810,\"league_id\":6869,\"parent_id\":1435648317,\"participant_id\":null,\"is_special\":false}"],["TOTALS__UNDER(22.5)",0,"2.02","","{\"key\":\"s;0;ou;22.5\",\"market_name\":\"totals\",\"dest\":\"under\",\"matchup_id\":1436579810,\"league_id\":6869,\"parent_id\":1435648317,\"participant_id\":null,\"is_special\":false}"]

Мне надо получать только название ставки( пример. TOTALS__OVER(22.5)) и сам кефф. (1.806).
Можно ли это сделать, не используя регулярные выражения. Думал перевести в формат JSON.
Повторюсь, на выходе получаем class string, пусть не смущают вас [].
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
import json

s = r'["pinnacle","update_markets","PINTN97C6CD59FD7","9122741,0",[["TOTALS__OVER(22.5)",0,"1.806","","{\"key\":\"s;0;ou;22.5\",\"market_name\":\"totals\",\"dest\":\"over\",\"matchup_id\":1436579810,\"league_id\":6869,\"parent_id\":1435648317,\"participant_id\":null,\"is_special\":false}"],["TOTALS__UNDER(22.5)",0,"2.02","","{\"key\":\"s;0;ou;22.5\",\"market_name\":\"totals\",\"dest\":\"under\",\"matchup_id\":1436579810,\"league_id\":6869,\"parent_id\":1435648317,\"participant_id\":null,\"is_special\":false}"]'

data = json.loads(s+']]')

print(data[4][0][0])
print(data[4][0][2])

TOTALS__OVER(22.5)
1.806


Или так:
import json

s = r'["pinnacle","update_markets","PINTN97C6CD59FD7","9122741,0",[["TOTALS__OVER(22.5)",0,"1.806","","{\"key\":\"s;0;ou;22.5\",\"market_name\":\"totals\",\"dest\":\"over\",\"matchup_id\":1436579810,\"league_id\":6869,\"parent_id\":1435648317,\"participant_id\":null,\"is_special\":false}"],["TOTALS__UNDER(22.5)",0,"2.02","","{\"key\":\"s;0;ou;22.5\",\"market_name\":\"totals\",\"dest\":\"under\",\"matchup_id\":1436579810,\"league_id\":6869,\"parent_id\":1435648317,\"participant_id\":null,\"is_special\":false}"]'

data = json.loads(s+']]')

# print(data[4][0][0])
# print(data[4][0][2])


for x in data[4]:
	print(x[0] +' - '+ x[2])

TOTALS__OVER(22.5) - 1.806
TOTALS__UNDER(22.5) - 2.02
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@kaktak255
Если количество данных не меняется то считать кавычки и от них отталкиваться
Получается что название ставки будет между 9-10 кавычками, а кэф между 11-12
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Сбер Иннополис
от 80 000 ₽
Сбер Москва
от 200 000 до 300 000 ₽
НЛМК Старый Оскол
До 200 000 ₽
02 окт. 2022, в 02:55
7000 руб./за проект
01 окт. 2022, в 20:34
20000 руб./за проект