Двойное значение в DataFrame

Рейтинг: 0Ответов: 1Опубликовано: 24.01.2023

Написал код, который переносит JSON ответ с сайта в Google Sheet, но к сожалению у одного ключа приходит два значения в круглых скобках PROPERTY_793 {'557740401': '128102'} можно ли с помощью Pyhton скрывать вот эти значения '557740401'? Они всегда разные и не нужны

from google.oauth2.service_account\
import Credentials
import pandas as pd
import gspread
import json
import requests
from gspread_dataframe import get_as_dataframe, set_with_dataframe

scope = ['https://spreadsheets.google.com/feeds',
         'https://www.googleapis.com/auth/drive']
credentials1 = Credentials.from_service_account_file('service_account.json', scopes=scope)
gc = gspread.authorize(credentials1)

url = 'https://b24.grouting.ru/rest/358/cohz07o83z9radj2/lists.element.get.json?IBLOCK_TYPE_ID=lists&IBLOCK_ID=110'
r = requests.get(url)

data = r.json()

with open('response.json', 'w', encoding='utf-8') as file:

    json.dump(data, file, indent=2, ensure_ascii=False)

df = pd.DataFrame(data["result"])

print(df)

wks = gc.open('12').worksheet('Лист2')

set_with_dataframe(wks, df)

JSON

введите сюда описание изображения

В таблицы приходят такие данные

введите сюда описание изображения

Ответы

▲ 1Принят

Один из вариантов

df = pd.DataFrame({"PROPERTY_786": [{"557740350": "651"}, {"557740351": "652"}, {"557740352": "653"}]})
print('До\n',df)
df.PROPERTY_786 = df.PROPERTY_786.apply(lambda x: list(x.values())[0])
print('После\n',df)

Или так:

df.PROPERTY_786 = df.PROPERTY_786.astype(str).str.extract(r": '(\d+)")
До
            PROPERTY_786
0  {'557740350': '651'}
1  {'557740351': '652'}
2  {'557740352': '653'}
После
   PROPERTY_786
0          651
1          652
2          653