Das letzte Mal habe ich mir den Inhalt der Daten einzeln angesehen, daher möchte ich dieses Mal nur die gewünschten Daten daraus extrahieren. (Klicken Sie hier für den vorherigen Artikel https://qiita.com/mattya_527/items/d9861db5e129d92c1637)
Ab dem 1. Februar 2020 OS:windows10 Anaconda:4.8.1 python:3.7.6
Die Daten, die ich dieses Mal möchte, sind die Anzahl der Siege und Verluste, die Anzahl der Kills, die Anzahl der Todesfälle, die Anzahl der Assists, die Tötungsbeteiligungsrate, der verwendete Champion, der Champion, der gespielt hat, die Lane, CS, das verdiente Gold, der dem Champion zugefügte Schaden, die Zeit des Spiels. Gehen. Der Spielmodus wird auf Rang eingegrenzt.
Schauen Sie sich an, was ich das letzte Mal überprüft habe.
Artikel | Objektname | Schimmel |
---|---|---|
Gewinnen oder verlieren | win | bool |
Anzahl der Kills | kills | int |
Anzahl der Todesfälle | deaths | int |
Anzahl der Vorlagen | assists | int |
Champion | championId | int |
Fahrbahn | lane, role | str |
CS | totalMinionsKilled | int |
Gold verdienen | goldEarned | int |
Schaden für den Champion | magicDamageDealtToChampions,physicalDamageDealtToChampions,insgesamt trueDamageDealtToChampions | int |
Spielzeit | gameDuration | int |
Ob es ein Ranglistenspiel ist | queueId=420 | int |
Versuchen Sie zunächst, alle zu benennen, um den Spieler auf sich selbst zu beschränken.
for i in range(10):
match_data["participantIdentities"][i]["player"]
print(match_data["participantIdentities"][i]["player"]["summonerName"])
(Derzeit ist die SN anderer Personen verborgen.)
Sie können sehen, dass Sie, um sich nur einzuschränken, beurteilen können, ob es mit dem übereinstimmt, das beim letzten Mal durch den Namen definiert wurde.
for i in range(10):
if match_data["participantIdentities"][i]["player"]["summonerName"] == name: #Stimmt der Name des Beschwörers überein?
par_Id = match_data["participants"][i]["participantId"]
print(par_Id) #Teilnehmer-ID ausgeben
#par_Geben Sie die Daten aus, die der ID entsprechen
if match_data["participants"][par_Id-1]["stats"]["participantId"] == par_Id: #par_Id-1 entspricht dem Index
print(match_data["participants"][par_Id-1]["stats"]["win"]) #Gewinnen oder verlieren
print(match_data["participants"][par_Id-1]["stats"]["kills"]) #Anzahl der Kills
print(match_data["participants"][par_Id-1]["stats"]["deaths"]) #Anzahl der Todesfälle
print(match_data["participants"][par_Id-1]["stats"]["assists"]) #Anzahl der Vorlagen
print(match_data["participants"][par_Id-1]["championId"]) #Champion benutzt
print(match_data["participants"][par_Id-1]["timeline"]["lane"]) #Fahrbahn
print(match_data["participants"][par_Id-1]["timeline"]["role"]) #rollen
print(match_data["participants"][par_Id-1]["stats"]["totalMinionsKilled"]) #CS **Gibt es etwas anderes als Schergen und Dschungelkriechen, das für CS notwendig ist, weil es für CS in OPGG nicht ausreicht?
print(match_data["participants"][par_Id-1]["stats"]["goldEarned"]) #Gold verdienen
print(match_data["participants"][par_Id-1]["stats"]["magicDamageDealtToChampions"] + match_data["participants"][par_Id-1]["stats"]["physicalDamageDealtToChampions"] + match_data["participants"][par_Id-1]["stats"]["trueDamageDealtToChampions"]) #Schaden für den Champion
print(match_data["participants"][par_Id-1]["teamId"]) #100 ist die blaue Seite, 200 ist die rote Seite
print(match_data["gameDuration"]) #Spielzeit(Sekunden)
Ich möchte mich auf Ranglistenspiele beschränken, also werde ich dieses Urteil fällen. Rang hat queueId 420, also
if match_data["queueId"] == 420:
Dies kann identifiziert werden. Der Grund, warum ich mich auf den Rang eingrenzen möchte, ist, dass Würfel und Bahnen, sofern es sich nicht um ein Rangspiel handelt, KEIN sind und ich die gewünschten Daten nicht sammeln kann.
Dieses Mal konnte ich die gewünschten Informationen erhalten, indem ich die Daten für mein einziges Spiel aufnahm. Als nächstes möchte ich diese Daten in die Datenbank hochladen. Deshalb werde ich die Datenbank studieren und von vorne beginnen.
Recommended Posts