Search for Player ID and return games played and number of times - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: Homework (https://python-forum.io/forum-9.html) +--- Thread: Search for Player ID and return games played and number of times (/thread-9886.html) |
Search for Player ID and return games played and number of times - disruptfwd8 - May-02-2018 Hi team, New to python and as a gamer, I would like to analyze player data. This would be easy on excel with Vlookup, but I'm having trouble in python. Here is sample data from two files: player_game_data.txt 0001 9999 65 0001 8521 5 0002 1234 32 0003 3444 45 Game_id.txt 9999 Fortnite 8521 God of War 1243 Call of Duty 3444 World of Warcraft Code should function like this... PlayerID Input: 0001 Print: Fortnite, 65 God of War, 5 f = open("player_game_data.txt","r") g = open("game_id.txt", "r") playerGamesPlayed = input("Please type a player's ID to return what games were played and how many times")Please help guide me in the right direction. RE: Search for Player ID and return games played and number of times - j.crater - May-03-2018 Hello, welcome to Python and the forums! It is advisable that instead of using "open" on its own, you use the "with" statement (so-called context manager). You can read about that and how to handle files in the official docs, as well as numerous other sources available online for free. You will probably want to loop through the file and read each line as a string. Some string methods will come handy, for example splitting the text. After that you will probably be best off saving the read data in a dictionary, or dictionaries. If you get stuck feel free to post your attempt and explain what the problem is or what the desire result would be compared to actual one. RE: Search for Player ID and return games played and number of times - disruptfwd8 - May-03-2018 Is the code below a good starting point on how to open and read each line and save each (key-value pair) to a dictionary? Thank you all! Player_Dic = {} with open('player_game_data.txt', 'r') as f: for line in f: (key, val) = line.split() Player_Dic[int(key)] = val Game_Data = {} with open('game_id.txt', 'r') as a: (key, val) = line.split() Game_Data[int(key)] = val # Code that loops throught the file and saves each line as a string # Below is the user input that will search for the Key Id on the list. ListenersTimesPlayed = input("Type Listener ID") ListenersTimesPlayed = int(Artist_Played) RE: Search for Player ID and return games played and number of times - disruptfwd8 - May-03-2018 Will I used a nested dictionary to map the first list element in [1] position to to the element in [0] position on the second list. player_game_data.txt 0001 9999 65 0001 8521 5 0002 1234 32 0003 3444 45 Game_id.txt 9999 Fortnite 8521 God of War 1243 Call of Duty 3444 World of Warcraft When I print, the result would give me Fortnite, 65 God of War, 5 |