3cb-data

Unnamed repository; edit this file 'description' to name the repository.
git clone git://git.alexwennerberg.com/3cb-data.git
Log | Files | Refs | README | LICENSE

commit 0d07de9ba73335ee4ce1726d7fbb4f68bad1d99d
parent 26d4131bbd1b2f5c2808e25b9e17f6a969c75c20
Author: alex wennerberg <alex@alexwennerberg.com>
Date:   Sat,  3 Feb 2024 22:24:27 -0500

restructure deck / export data model a bit

Diffstat:
Mgetdata.py | 15++++++++++-----
Msql/export.sql | 12+++++++-----
2 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/getdata.py b/getdata.py @@ -65,10 +65,12 @@ create table if not exists round ( ); """, """ -create table if not exists card ( +create table if not exists deck ( round integer not null, player varchar not null, - name text + card1 text, + card2 text, + card3 text );""",""" create table if not exists match ( round integer, @@ -102,9 +104,8 @@ def save_sheet(cur, sheet, n, final): i += 1 player = row[0] cards = row[1].split("\n") - for card in cards: - if not final: #already done - cur.execute("insert into card values (?,?,?);", (n, player, clean_card(card))) + if not final: #already done + cur.execute("insert into deck values (?,?,?,?,?);", (n, player, clean_card(cards[0]), clean_card(cards[1]), clean_card(cards[2]))) for o, s in enumerate(row[start:end]): cur.execute("insert into match values (?, ?, ?, ?, ?);", (n, group, player,players[o],s)); @@ -181,9 +182,13 @@ def clean_card(card_name): return best_guess(clean) return clean +def export_round(): + print("hi") + if __name__ == "__main__": for table in schema: con.execute(table) update_bans() main() + export_round() diff --git a/sql/export.sql b/sql/export.sql @@ -1,8 +1,10 @@ .headers on -select match.round,group_name,match.player,deck,sum(score) as score -from match -join (select round, player, group_concat(name, ';') as deck -from (select * from card order by round,player,name) -group by 1,2) as deck +/* new card, best performance of this card */ +select match.round,group_name,match.player, + card1, + card2, + card3, + sum(score) as score +from match join deck on deck.round = match.round and deck.player = match.player group by 1,2,3