Új hozzászólás Aktív témák
-
Pxs
aktív tag
válasz
Hege1234
#4326
üzenetére
Köszi, működött!
Igen, olyasmi, egy jóval nagyobb script részeként.Most meg van egy ilyen mókám, szintén JSON (illetve Python-dict), ahol egy meglévő "hazai_csapat_lejatszott_meccsek" változóba kellene átadnom a 98. sorban lévő ""name": "Overall Matched Played"" kulcs feletti "value": "1" kulcs értékét (1-et).
De mindezt úgy, hogy még előtte ellenőriznie kellene, hogy a 21. sorban lévő ""name": "FC Bayern München" kulcs értéke megegyezik-e a "hazai_csapat" változó értékével, csak akkor keressen tovább az említett "Overall Matched Played" string-ig, és mielőtt azt megtalálja, mentse egy ideiglenes változóba minden iteráció során az összes "value" kulcsot, amibe útközben akad.
(úgy, hogy aztán felhasználható maradjon későbbre is a legutolsó mentett érték)Bocs, még nagyon kapkodom a fejem e téren, pedig van némi programozási tapasztalatom

{
"data": [
{
"id": 241976,
"participant_id": 503,
"sport_id": 1,
"league_id": 2,
"season_id": 23619,
"stage_id": 77471317,
"group_id": null,
"round_id": 357241,
"standing_rule_id": 117850,
"position": 1,
"result": "equal",
"points": 3,
"participant": {
"id": 503,
"sport_id": 1,
"country_id": 11,
"venue_id": 53,
"name": "FC Bayern München"
},
"details": [
{
"id": 3523848805,
"standing_type": "standing",
"standing_id": 241976,
"type_id": 130,
"value": 1,
"type": {
"id": 130,
"name": "Overall Won"
}
},
{
"id": 3523848806,
"standing_type": "standing",
"standing_id": 241976,
"type_id": 131,
"value": 0,
"type": {
"id": 131,
"name": "Overall Draw"
}
},
{
"id": 3523848802,
"standing_type": "standing",
"standing_id": 241976,
"type_id": 133,
"value": 9,
"type": {
"id": 133,
"name": "Overal Goals Scored"
}
},
{
"id": 3523848819,
"standing_type": "standing",
"standing_id": 241976,
"type_id": 144,
"value": 0,
"type": {
"id": 144,
"name": "Away Lost"
}
},
{
"id": 3523848803,
"standing_type": "standing",
"standing_id": 241976,
"type_id": 134,
"value": 2,
"type": {
"id": 134,
"name": "Overall Goals Conceded"
}
},
{
"id": 3523848815,
"standing_type": "standing",
"standing_id": 241976,
"type_id": 187,
"value": 3,
"type": {
"id": 187,
"name": "Overall Points"
}
},
{
"id": 3523848804,
"standing_type": "standing",
"standing_id": 241976,
"type_id": 129,
"value": 1,
"type": {
"id": 129,
"name": "Overall Matched Played"
} -
Pxs
aktív tag
A keresés pedig az alábbi kóddal fut:
league_id = result['league_id']
standings_url = f"https://api.sportmonks.com/v3/football/standings/live/leagues/{league_id}?include=participant"
standings_response = requests.get(standings_url, headers=headers)
if standings_response.status_code == 200:
try:
standings_data = standings_response.json()
# Alakítsa át a kapott eredményt python-szótárrá
standings = standings_data.get("data", [])
# A team1 és team2 mentése és kiírása
if " vs " in search_value:
team1, team2 = search_value.split(" vs ", 1)
team1 = team1.strip()
team2 = team2.strip()
print(f"TEAM1: {team1}")
print(f"TEAM2: {team2}")
# Keresés a team1 értékére az állás adatokban
print(f"team1 keresett értéke: {team1}")
team1_found = False
for group in standings:
if isinstance(group, dict):
participants = group.get("standings", [])
for team in participants:
participant = team.get("participant", {})
if participant.get("name") == team1:
print("TEAM1 jelen")
print(f"Csapat ID: {participant.get('id')}")
print(f"Pozíció: {team.get('position')}")
print(f"Pontok: {team.get('points')}")
team1_found = True
break
if team1_found:
break
if not team1_found:
print("TEAM1 nincs az állások között.")
else:
print("A meccsnév nem megfelelő formátumú.") -
Pxs
aktív tag
Sziasztok, elég új nekem még a Python, és van egy ilyen adatszerkezetem, amit JSON-ban kapok egy API-endpoint meghívása után.
Foci tabella állások egy adott ligában, és ebből lenne szükségem az adott csapat nevére ("name" kulcs), ID-jára ("id" kulcs, de ebből van egy az eggyel feljebb lévő szinten is, nem az kell, mert az az állás ID-ja), helyezésére ("position" kulcs), és pontszámára ("points" kulcs).
Viszont első körben a csapat nevét kellene megtalálnia, aztán az ahhoz tartozó ID-t, és a szerintem nagyobb probléma, hogy a "position" és a "points" kulcsok már egy szinttel feljebb találhatók.
Miként lehetne ezt megoldani? Már a PyCharm AI-asszisztense is csődött mondott, vagy én használom rosszul.
Illetve fontos Python dictionary-be konvertálni a keresés előtt a JSON-objectet? Előre is köszi!
"data": [
{
"id": 18404871,
"sport_id": 1,
"league_id": 2,
"season_id": 23619,
"stage_id": 77471317,
"group_id": null,
"round_id": 357241,
"participant_id": 503,
"standing_rule_id": 117850,
"position": 1,
"points": 3,
"result": "equal",
"participant": {
"id": 503,
"sport_id": 1,
"country_id": 11,
"venue_id": 53,
"gender": "male",
"name": "FC Bayern München",
"short_code": "FCB",
"image_path": "https://cdn.sportmonks.com/images/soccer/teams/23/503.png",
"founded": 1900,
"type": "domestic",
"placeholder": false,
"last_played_at": "2024-09-21 13:30:00"
}
Új hozzászólás Aktív témák
- Samsung Galaxy S21 Ultra 5G 12/128GB Fekete / 12 hó jótállás
- BESZÁMÍTÁS! ASUS H510M i5 11400F 16GB DDR4 512GB SSD RX 6600XT 8GB Zalman T4 Plus Cooler Master 650W
- 188 - Lenovo LOQ (15IRX10) - Intel Core i5-13450HX, RTX 5060
- ÁRGARANCIA!Épített KomPhone Ryzen 5 9600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- ÚJ Lenovo ThinkPad X13 Gen 5 - 13.3" WUXGA IPS - Ultra 5 135U - 16GB - 512GB - Win11 - 2 év garancia
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
(úgy, hogy aztán felhasználható maradjon későbbre is a legutolsó mentett érték)

