В настоящее время у меня есть текстовая строка, разделенная амперсандом, которую мне нужно проанализировать с помощью PySpark для извлечения пар ключ-значение в массив / словарь. Я могу сделать это с большинством тегов, которые есть в строке, но проблема в том, что некоторые ключи имеют индекс, и он может варьироваться в зависимости от записи, но ключи всегда будут одинаковыми (если это имеет смысл. хотел бы, чтобы, l oop через строку
Пример ввода:
"{pr1nm=Apples&pr1id=1111111&pr1pr=200.00&pr1qt=1&pr2nm=Pears&pr2id=1111112&pr2pr=300.00&pr2qt=2}"
Желаемый вывод:
[{
"ProductName":"Apples",
"ProductId": "1111111",
"ProductPrice":"200.00",
"ProductQuantity":"1",
"ProductName":"Pears",
"ProductId":"1111112",
"ProductPrice":"300.00"
"ProductQuantity":"2"
}]
Дополнительно, если у меня есть другие теги в та же строка, которая не относится к продукту, например:
"{dl=https://stackoverflow.com/posts/XXXXX&t=pageview&pr1nm=Apples&pr1id=1111111&pr1pr=200.00&pr1qt=1&pr2nm=Pears&pr2id=1111112&pr2pr=300.00&pr2qt=2}"
вывод должен быть примерно таким с продуктами во вложенном массиве:
{"DocumentLocation":"https://stackoverflow.com/posts/XXXXX",
"HitType":"pageview",
"Products": [{
"ProductName":"Apples",
"ProductId": "1111111",
"ProductPrice":"200.00",
"ProductQuantity":"1",
"ProductName":"Pears",
"ProductId":"1111112",
"ProductPrice":"300.00"
"ProductQuantity":"2"
}]
}