43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
import sys
|
|
import csv
|
|
|
|
from db_calls_card_creation import *
|
|
|
|
|
|
def clean_name(name):
|
|
return name.replace('.', '').replace("'", '').replace('-', ' ').replace('í', 'i').replace('é', 'e')\
|
|
.replace('ñ', 'n').replace('á', 'a')
|
|
|
|
|
|
def main(argv):
|
|
# Importing: https://docs.google.com/spreadsheets/d/1Gcgk4P8rJqX7mHO-OKPuM2FXBWNkDNZ8LNFA6DeaNck/edit#gid=72732162
|
|
# Player Database from Columns tab
|
|
file_name = 'data-input/players.csv'
|
|
|
|
with open(file_name, 'r') as file:
|
|
reader = csv.reader(file)
|
|
all_players = []
|
|
|
|
for row in reader:
|
|
if 'sba' not in row[0]:
|
|
all_players.append({
|
|
'name': clean_name(row[3]),
|
|
'fg_id': row[2],
|
|
'br_id': row[1],
|
|
'sba_id': row[0],
|
|
'offense_col': row[4],
|
|
'hand': row[5]
|
|
})
|
|
|
|
# TODO: will want to update this to check for existing record; get_or_create ?
|
|
with db.atomic():
|
|
for batch in chunked(all_players, 50):
|
|
Player.insert_many(batch).on_conflict_ignore().execute()
|
|
db.close()
|
|
|
|
print(f'Processed {len(all_players)} players')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main(sys.argv[1:])
|