I'm trying to read a file line by line and remove items when read. I don't know what I'm doing wrong here. There are multiple items at same date so I had to make a dictionary out of them.
My script:
'''
Read test data into simple dictionary for later use.
'''
matches_date = {}
with open('testi_data.csv','rb') as f:
for row in csv.reader(f, delimiter=';'):
if row[0] not in matches_date:
matches_date[row[0]] = []
matches_date[row[0]].append(row)
f.close()
'''
Read dictionary values sorted by date. Remove item when read.
'''
for item in sorted(matches_date.keys()):
for match in matches_date[item]:
if match[1] == 'blue':
score = [1,0]
else:
score = [0,1
date = match[0]
home = match[7]
away = match[8]
home_team = match[13]
away_team = match[14]
region = match[30]
print date, home, away, score
matches_date[date].remove(match)
Output:
20170510 G2 Esports SK Telecom T1 [0, 1]
20170510 GIGABYTE Marines Team SoloMid [1, 0]
20170510 SK Telecom T1 GIGABYTE Marines [1, 0]
When I want it to print every line from this file (testi_data.csv):
20170510;red;7.8;;;;;G2 Esports;SK Telecom T1;Kennen,Rumble,Karma,Fizz,Shen;LeBlanc,Jayce,Lulu,Fiora,Gangplank;Renekton,Lee Sin,Orianna,Ashe,Zyra;Galio,Graves,Syndra,Varus,Miss Fortune;Expect,Trick,Perkz,Zven,Mithy;Huni,Peanut,Faker,Bang,Wolf (Lee Jae-wan);43:53;71.8k;6;3;0;0;1;86.1k;10;11;5;2;0;2017 Mid-Season Invitational/Main Event/Scoreboards;http://matchhistory.na.leagueoflegends.com/en/#match-details/TRLH1/1002180106?gameHash=6000b59281dff531&tab=overview;International
20170510;blue;7.8;;;;;Team WE;Flash Wolves;Syndra,LeBlanc,Zyra,Shen,Gragas;Lulu,Karma,Graves,Tahm Kench,Nami;Kled,Elise,Taliyah,Ashe,Bard;Rumble,Lee Sin,Ryze,Varus,Malzahar;957,Condi,Xiye,Mystic,Ben;MMD,Karsa,Maple (Huang Yi-Tang),Betty,SwordArt;29:50;59.7k;16;9;1;1;1;48.1k;13;2;1;0;0;2017 Mid-Season Invitational/Main Event/Scoreboards;http://matchhistory.na.leagueoflegends.com/en/#match-details/TRLH1/1002180124?gameHash=a3c01e30df8a98a8;International
20170510;blue;7.8;;;;;GIGABYTE Marines;Team SoloMid;Ivern,Galio,Ashe,Caitlyn,Ezreal;Ziggs,Kennen,Syndra,Lee Sin,LeBlanc;Gragas,Kha'Zix,Ahri,Varus,Karma;Nautilus,Graves,Lulu,Twitch,Nami;Stark (Phan Công Minh),Levi,Optimus,Slay,Archie (Trần Minh Nhựt);Hauntzer,Svenskeren,Bjergsen,WildTurtle,Biofrost;36:11;69k;16;11;2;1;0;59.2k;15;4;2;0;0;2017 Mid-Season Invitational/Main Event/Scoreboards;http://matchhistory.na.leagueoflegends.com/en/#match-details/TRLH1/1002180130?gameHash=03336bc5758a759d;International
20170510;red;7.8;;;;;Flash Wolves;G2 Esports;Jayce,Kennen,Fiora,Renekton,Shen;Ashe,Graves,Lee Sin,Kled,Rumble;Gragas,Rengar,LeBlanc,Varus,Lulu;Nautilus,Ivern,Ryze,Caitlyn,Karma;MMD,Karsa,Maple (Huang Yi-Tang),Betty,SwordArt;Expect,Trick,Perkz,Zven,Mithy;46:27;81.6k;10;6;3;1;0;78.1k;8;8;1;0;0;2017 Mid-Season Invitational/Main Event/Scoreboards;http://matchhistory.na.leagueoflegends.com/en/#match-details/TRLH1/1002180138?gameHash=5604703d17a7f2a4;International
20170510;blue;7.8;;;;;SK Telecom T1;GIGABYTE Marines;LeBlanc,Gragas,Ziggs,Shen,Fizz;Galio,Kennen,Ezreal,Twitch,Kog'Maw;Rumble,Lee Sin,Ekko,Varus,Lulu;Jayce,Graves,Syndra,Ashe,Karma;Huni,Peanut,Faker,Bang,Wolf (Lee Jae-wan);Stark (Phan Công Minh),Levi,Optimus,Slay,Archie (Trần Minh Nhựt);26:45;58.3k;25;9;3;1;0;43.5k;12;0;0;0;0;2017 Mid-Season Invitational/Main Event/Scoreboards;http://matchhistory.na.leagueoflegends.com/en/#match-details/TRLH1/1002180145?gameHash=2ba736f5ffe8a59c&tab=overview;International
20170510;blue;7.8;;;;;Team SoloMid;Team WE;LeBlanc,Fizz,Lucian,Kled;Ivern,Varus,Syndra,Ryze,Orianna;Kennen,Lee Sin,Taliyah,Ezreal,Lulu;Jayce,Elise,Karma,Ashe,Nami;Hauntzer,Svenskeren,Bjergsen,WildTurtle,Biofrost;957,Condi,Xiye,Mystic,Ben;39:10;74.3k;10;11;2;2;0;63.5k;6;2;2;0;0;2017 Mid-Season Invitational/Main Event/Scoreboards;http://matchhistory.na.leagueoflegends.com/en/#match-details/TRLH1/1002180154?gameHash=e1b11e4d1901c49b;International
I need to be able to remove those read items for further use of the dictionary.