Anonymous
Как создать фрейм данных Pandas из вложенных объектов JSON [закрыто]
Сообщение
Anonymous » 02 дек 2025, 03:12
Я пытаюсь создать DataFrame Pandas из файла JSON, который выглядит следующим образом:
Код: Выделить всё
{
"GameID": "1,218,463,841",
"Date - Start": "1761097369",
"Date - End": "1761098306",
"TagSetID": 79,
"Netplay": 1,
"StadiumID": 5,
"Away Player": "margoose",
"Home Player": "dev",
"Away Score": 0,
"Home Score": 2,
"Innings Selected": 5,
"Innings Played": 5,
"Quitter Team": 255,
"Average Ping": 18,
"Lag Spikes": 8,
"Version": "2.1.1",
"Character Game Stats": {
"Away Roster 0": {
"Team": "0",
"RosterID": 0,
"CharID": 15,
"Superstar": 0,
"Captain": 0,
"Fielding Hand": 0,
"Batting Hand": 0,
"Defensive Stats": {
"Batters Faced": 0,
"Runs Allowed": 0,
"Earned Runs": 0,
"Batters Walked": 0,
"Batters Hit": 0,
"Hits Allowed": 0,
"HRs Allowed": 0,
"Pitches Thrown": 0,
"Stamina": 10,
"Was Pitcher": 0,
"Strikeouts": 0,
"Star Pitches Thrown": 0,
"Big Plays": 0,
"Outs Pitched": 0,
"Batters Per Position": [
{
"CF": 3,
"RF": 15
}
],
"Batter Outs Per Position": [
{
"CF": 2,
"RF": 10
}
],
"Outs Per Position": [
{
"RF": 1
}
]
},
"Offensive Stats": {
"At Bats": 3,
"Hits": 2,
"Singles": 2,
"Doubles": 0,
"Triples": 0,
"Homeruns": 0,
"Successful Bunts": 0,
"Sac Flys": 0,
"Strikeouts": 0,
"Walks (4 Balls)": 0,
"Walks (Hit)": 0,
"RBI": 0,
"Bases Stolen": 0,
"Star Hits": 0
}
},
"Away Roster 1": {
"Team": "0",
"RosterID": 1,
"CharID": 6,
"Superstar": 0,
"Captain": 0,
"Fielding Hand": 0,
"Batting Hand": 1,
"Defensive Stats": {
"Batters Faced": 0,
"Runs Allowed": 0,
"Earned Runs": 0,
"Batters Walked": 0,
"Batters Hit": 0,
"Hits Allowed": 0,
"HRs Allowed": 0,
"Pitches Thrown": 0,
"Stamina": 10,
"Was Pitcher": 0,
"Strikeouts": 0,
"Star Pitches Thrown": 0,
"Big Plays": 0,
"Outs Pitched": 0,
"Batters Per Position": [
{
"SS": 18
}
],
"Batter Outs Per Position": [
{
"SS": 12
}
],
"Outs Per Position": [
]
},
"Offensive Stats": {
"At Bats": 3,
"Hits": 0,
"Singles": 0,
"Doubles": 0,
"Triples": 0,
"Homeruns": 0,
"Successful Bunts": 0,
"Sac Flys": 0,
"Strikeouts": 1,
"Walks (4 Balls)": 0,
"Walks (Hit)": 0,
"RBI": 0,
"Bases Stolen": 0,
"Star Hits": 0
}
},
"Away Roster 2": {
"Team": "0",
"RosterID": 2,
"CharID": 20,
"Superstar": 0,
"Captain": 0,
"Fielding Hand": 0,
"Batting Hand": 1,
"Defensive Stats": {
"Batters Faced": 0,
"Runs Allowed": 0,
"Earned Runs": 0,
"Batters Walked": 0,
"Batters Hit": 0,
"Hits Allowed": 0,
"HRs Allowed": 0,
"Pitches Thrown": 0,
"Stamina": 10,
"Was Pitcher": 0,
"Strikeouts": 0,
"Star Pitches Thrown": 0,
"Big Plays": 0,
"Outs Pitched": 0,
"Batters Per Position": [
{
"3B": 18
}
],
"Batter Outs Per Position": [
{
"3B": 12
}
],
"Outs Per Position": [
{
"3B": 2
}
]
},
"Offensive Stats": {
"At Bats": 3,
"Hits": 0,
"Singles": 0,
"Doubles": 0,
"Triples": 0,
"Homeruns": 0,
"Successful Bunts": 0,
"Sac Flys": 0,
"Strikeouts": 1,
"Walks (4 Balls)": 0,
"Walks (Hit)": 0,
"RBI": 0,
"Bases Stolen": 0,
"Star Hits": 0
}
}
}
}
Мне бы хотелось, чтобы результирующая таблица выглядела примерно так, но я не могу понять, как:
Код: Выделить всё
CharID Batters Faced Innings Pitched At Bats
0 15 0 0 3
Любая помощь очень ценится. Я совершенно незнаком с JSON. Я попытался использовать «CharID» и «Защитную статистику» в качестве пути к записи, но получил ошибку:
Если указать путь к записи, все элементы данных должны иметь этот путь.
Подробнее здесь:
https://stackoverflow.com/questions/798 ... ed-objects
1764634329
Anonymous
Я пытаюсь создать DataFrame Pandas из файла JSON, который выглядит следующим образом: [code]{ "GameID": "1,218,463,841", "Date - Start": "1761097369", "Date - End": "1761098306", "TagSetID": 79, "Netplay": 1, "StadiumID": 5, "Away Player": "margoose", "Home Player": "dev", "Away Score": 0, "Home Score": 2, "Innings Selected": 5, "Innings Played": 5, "Quitter Team": 255, "Average Ping": 18, "Lag Spikes": 8, "Version": "2.1.1", "Character Game Stats": { "Away Roster 0": { "Team": "0", "RosterID": 0, "CharID": 15, "Superstar": 0, "Captain": 0, "Fielding Hand": 0, "Batting Hand": 0, "Defensive Stats": { "Batters Faced": 0, "Runs Allowed": 0, "Earned Runs": 0, "Batters Walked": 0, "Batters Hit": 0, "Hits Allowed": 0, "HRs Allowed": 0, "Pitches Thrown": 0, "Stamina": 10, "Was Pitcher": 0, "Strikeouts": 0, "Star Pitches Thrown": 0, "Big Plays": 0, "Outs Pitched": 0, "Batters Per Position": [ { "CF": 3, "RF": 15 } ], "Batter Outs Per Position": [ { "CF": 2, "RF": 10 } ], "Outs Per Position": [ { "RF": 1 } ] }, "Offensive Stats": { "At Bats": 3, "Hits": 2, "Singles": 2, "Doubles": 0, "Triples": 0, "Homeruns": 0, "Successful Bunts": 0, "Sac Flys": 0, "Strikeouts": 0, "Walks (4 Balls)": 0, "Walks (Hit)": 0, "RBI": 0, "Bases Stolen": 0, "Star Hits": 0 } }, "Away Roster 1": { "Team": "0", "RosterID": 1, "CharID": 6, "Superstar": 0, "Captain": 0, "Fielding Hand": 0, "Batting Hand": 1, "Defensive Stats": { "Batters Faced": 0, "Runs Allowed": 0, "Earned Runs": 0, "Batters Walked": 0, "Batters Hit": 0, "Hits Allowed": 0, "HRs Allowed": 0, "Pitches Thrown": 0, "Stamina": 10, "Was Pitcher": 0, "Strikeouts": 0, "Star Pitches Thrown": 0, "Big Plays": 0, "Outs Pitched": 0, "Batters Per Position": [ { "SS": 18 } ], "Batter Outs Per Position": [ { "SS": 12 } ], "Outs Per Position": [ ] }, "Offensive Stats": { "At Bats": 3, "Hits": 0, "Singles": 0, "Doubles": 0, "Triples": 0, "Homeruns": 0, "Successful Bunts": 0, "Sac Flys": 0, "Strikeouts": 1, "Walks (4 Balls)": 0, "Walks (Hit)": 0, "RBI": 0, "Bases Stolen": 0, "Star Hits": 0 } }, "Away Roster 2": { "Team": "0", "RosterID": 2, "CharID": 20, "Superstar": 0, "Captain": 0, "Fielding Hand": 0, "Batting Hand": 1, "Defensive Stats": { "Batters Faced": 0, "Runs Allowed": 0, "Earned Runs": 0, "Batters Walked": 0, "Batters Hit": 0, "Hits Allowed": 0, "HRs Allowed": 0, "Pitches Thrown": 0, "Stamina": 10, "Was Pitcher": 0, "Strikeouts": 0, "Star Pitches Thrown": 0, "Big Plays": 0, "Outs Pitched": 0, "Batters Per Position": [ { "3B": 18 } ], "Batter Outs Per Position": [ { "3B": 12 } ], "Outs Per Position": [ { "3B": 2 } ] }, "Offensive Stats": { "At Bats": 3, "Hits": 0, "Singles": 0, "Doubles": 0, "Triples": 0, "Homeruns": 0, "Successful Bunts": 0, "Sac Flys": 0, "Strikeouts": 1, "Walks (4 Balls)": 0, "Walks (Hit)": 0, "RBI": 0, "Bases Stolen": 0, "Star Hits": 0 } } } } [/code] Мне бы хотелось, чтобы результирующая таблица выглядела примерно так, но я не могу понять, как: [code] CharID Batters Faced Innings Pitched At Bats 0 15 0 0 3 [/code] Любая помощь очень ценится. Я совершенно незнаком с JSON. Я попытался использовать «CharID» и «Защитную статистику» в качестве пути к записи, но получил ошибку: Если указать путь к записи, все элементы данных должны иметь этот путь. Подробнее здесь: [url]https://stackoverflow.com/questions/79826932/how-to-create-a-pandas-dataframe-from-json-nested-objects[/url]