Разбить строки на подстроки и поменять местами
После работы программы, возвращаются две строки формата такого:
['Название предмета:"Предмет1"', 'Название предмета:"Предмет2"']
['Мин. цена на данный момент:Цена1', 'Мин. цена на данный момент:Цена2']
Необходимо преобразовать их так, чтобы получилось что-то вроде:
'Название предмета:"Предмет1"', Мин. цена на данный момент:Цена1'
'Название предмета:"Предмет2", Мин. цена на данный момент:Цена2'
name = re.sub(r'"name"', 'Название предмета', str(re.findall(r'\"name\":\".*', responseText)))
price = re.sub(r'"price"', 'Мин. цена на данный момент' , str(re.findall(r'\"price\":\S*', responseText)))
Это те самые строки, которые возвращаются после работы программы.
responseText — это небольшой набор данных, из которого я вычленяю подстроки name и price, он имеет вид примерно такой:
[
{
"uid": "5ac84494-465a-424a-b36e-fe22869ba5ec",
"bsgId": "59faff1d86f7746c51718c9c",
"name": "Physical bitcoin (btc)",
"shortName": "0.2BTC",
"price": 139999,
"avg24hPrice": 139868,
"avg7daysPrice": 139056,
"updated": "2020-03-03T07:31:54.939Z",
"slots": 1,
"diff24h": 0.09,
"diff7days": 0.68,
}
]
Ответы (1 шт):
Автор решения: nomnoms12
→ Ссылка
Вы можете распарсить Ваш ответ с помощью модуля json.
Пример:
import json
def main():
responseText = r'[{"uid":"5ac84494-465a-424a-b36e-fe22869ba5ec","bsgId":"59faff1d86f7746c51718c9c","name":"Physical bitcoin (btc)","shortName":"0.2BTC","price":139999,"avg24hPrice":139868,"avg7daysPrice":139056,"updated":"2020-03-03T07:31:54.939Z","slots":1,"diff24h":0.09,"diff7days":0.68}]'
d = json.loads(responseText)
for x in d:
name = x['name']
price = x['price']
print(f'Название предмета: "{name}", мин. цена на данный момент: {price}')
if __name__ == '__main__':
main()
stdout:
Название предмета: "Physical bitcoin (btc)", мин. цена на данный момент: 139999