From 5950a8c8d18e3750b68c6c3c204caa1b78678f84 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 2 Apr 2025 17:13:32 -0400 Subject: [PATCH] Adding prefilled data for stadiums and teams, first bits of data --- data/build_db.sql | 54 +++--- data/populate_parks.py | 0 data/prefill/prefill_db.sql | 363 ++++++++++++++++++++++++++++++++++++ data/stats_importer.py | 27 +++ 4 files changed, 417 insertions(+), 27 deletions(-) create mode 100644 data/populate_parks.py create mode 100644 data/prefill/prefill_db.sql diff --git a/data/build_db.sql b/data/build_db.sql index f376dff..51c2a46 100644 --- a/data/build_db.sql +++ b/data/build_db.sql @@ -1,3 +1,12 @@ +CREATE TABLE IF NOT EXISTS parks ( + park_id CHAR(5) NOT NULL, + park_name VARCHAR, + elevation SMALLINT UNSIGNED, + latitude FLOAT, + longitude FLOAT, + PRIMARY KEY (park_id) +); + CREATE TABLE IF NOT EXISTS teams ( team CHAR(3) NOT NULL, park_id CHAR(5) NOT NULL, @@ -6,6 +15,23 @@ CREATE TABLE IF NOT EXISTS teams ( PRIMARY KEY (team) ); +CREATE TABLE IF NOT EXISTS weather ( + id INTEGER NOT NULL, + temperature SMALLINT, + wind_speed FLOAT, + air_pressure FLOAT, + humidity SMALLINT UNSIGNED, + uv_index FLOAT, + air_quality TINYINT UNSIGNED, + percipitation_type CHAR(10), + percipitation_amount FLOAT, + sky_condition CHAR(20), + sun_rise TIME, + sun_set TIME, + moon_phase TINYINT UNSIGNED, + PRIMARY KEY (id) +); + CREATE TABLE IF NOT EXISTS games ( id INTEGER NOT NULL, game_date date NOT NULL, @@ -33,32 +59,7 @@ CREATE TABLE IF NOT EXISTS games ( rf_ump_name VARCHAR, weather_id INT NOT NULL, FOREIGN KEY (weather_id) REFERENCES weather(id) - PRIMARY KEY (id) -); - -CREATE TABLE IF NOT EXISTS parks ( - park_id CHAR(5) NOT NULL, - park_name VARCHAR, - latitude FLOAT, - longitude FLOAT, - FOREIGN KEY (park_id) REFERENCES games(park_id), - PRIMARY KEY (park_id) -); - -CREATE TABLE IF NOT EXISTS weather ( - id INTEGER NOT NULL, - temperature SMALLINT, - wind_speed FLOAT, - air_pressure FLOAT, - humidity SMALLINT UNSIGNED, - uv_index FLOAT, - air_quality TINYINT UNSIGNED, - percipitation_type CHAR(10), - percipitation_amount FLOAT, - sky_condition CHAR(20), - sun_rise TIME, - sun_set TIME, - moon_phase TINYINT UNSIGNED, + FOREIGN KEY (park_id) REFERENCES parks(park_id) PRIMARY KEY (id) ); @@ -145,4 +146,3 @@ CREATE TABLE IF NOT EXISTS team_game ( PRIMARY KEY (game, team) ); - diff --git a/data/populate_parks.py b/data/populate_parks.py new file mode 100644 index 0000000..e69de29 diff --git a/data/prefill/prefill_db.sql b/data/prefill/prefill_db.sql new file mode 100644 index 0000000..fc0b2cc --- /dev/null +++ b/data/prefill/prefill_db.sql @@ -0,0 +1,363 @@ +INSERT IGNORE INTO parks + (park_id, park_name, elevation, latitude, longitude) VALUES + ("ACY01", "Inlet Park", ), + ("ACY02", "New York Avenue Field", ), + ("AKR01", "League Park", ), + ("ALB02", "Hawkins Stadium", ), + ("ALT02", "Cricket Field", ), + ("ANA01", "Angel Stadium of Anaheim", ), + ("APP01", "Spencer Park", ), + ("ARL01", "Arlington Stadium", ), + ("ARL03", "Globe Life Field in Arlington", ), + ("ARN01", "Fairgrounds Park", ), + ("ATL04", "Ponce de Leon Park", ), + ("ATL05", "Harper Field"), + ("ATL06", "Booker T. Washington High School Field", ), + ("AUS01", "Disch Field", ), + ("BAK01", "Sam Lynn Park", ), + ("BAL12", "Oriole Park at Camden Yards", ), + ("BAL13", "Maryland Park", ), + ("BAL14", "Bugle Field", ), + ("BCK01", "Bailey Park", ), + ("BEA01", "Stuart Stadium", ), + ("BEA03", "Athletic Park", ), + ("BEC01", "RMI Park", ), + ("BEL01", "Belleville Athletic Field", ), + ("BEL02", "Belmar Memorial Field", ), + ("BHM01", "Colony Park", ), + ("BIR01", "Rickwood Field", ), + ("BIS01", "Bismarck Municipal Ballpark", ), + ("BLO01", "Bloomsburg Fair Grounds", ), + ("BLU01", "Blakely Field", ), + ("BLY01", "Bailey's Park", ), + ("BRA01", "Bradley Beach Field", ), + ("BRI01", "Candlelite Stadium", ), + ("BUF05", "Sahlen Field", ), + ("BUF06", "Offermann Stadium", ), + ("CAM01", "Third Street and Erie Avenue Grounds", ), + ("CAM02", "Twelfth and Federal St.", ), + ("CAM04", "Broadway & Everett St.", ), + ("CAN02", "Pastime Park", ), + ("CAN03", "Lakeside Park", ), + ("CBI01", "American Legion Park", ), + ("CED01", "Hill Park", ), + ("CEN01", "Fans Field", ), + ("CHA01", "Kanawha Park", ), + ("CHA02", "Henninger Field", ), + ("CHA03", "Griffith Park", ), + ("CHE01", "Lloyd Field", ), + ("CHE02", "Elks Park", ), + ("CHI12", "Guaranteed Rate Field;U.S. Cellular Field", ), + ("CHI15", "Mills Stadium", ), + ("CHI16", "Shrewbridge Field", ), + ("CHT01", "Engel Stadium", ), + ("CIN06", "Palace of the Fans", ), + ("CIN07", "Crosley Field", ), + ("CIN08", "Cinergy Field", ), + ("CIN09", "Great American Ballpark", ), + ("CIN10", "Redland Field", ), + ("CLC01", "Simpson Park", ), + ("CLE08", "Progressive Field", ), + ("CLE10", "Cubs Stadium", ), + ("CLE11", "Kinsman Hardware Field", ), + ("CLE12", "Hooper Field", ), + ("CLE13", "Luna Bowl", ), + ("CLE14", "Tate Field", ), + ("COL05", "Red Bird Stadium", ), + ("COL06", "Golden Park", ), + ("COR01", "Firemens Ball Park", ), + ("COV02", "Covington Park", ), + ("CRA01", "Dean Park", ), + ("DAL01", "Rebel Stadium", ), + ("DAL02", "Burnett Field", ), + ("DAN01", "Garfield Stadium", ), + ("DAN02", "Peters Park", ), + ("DAR01", "Hilldale Park", ), + ("DAV01", "Municipal Stadium", ), + ("DAV02", "Milan Park", ), + ("DAY02", "Westwood Field", ), + ("DAY03", "Hudson Field", ), + ("DCA01", "Legion Field", ), + ("DCT01", "Staley Field", ), + ("DCT02", "Fans Field", ), + ("DEF01", "Kingsbury Park", ), + ("DEN02", "Coors Field", ), + ("DEN03", "Merchants Park", ), + ("DES01", "League Park", ), + ("DES02", "Pioneer Memorial Park", ), + ("DET05", "Comerica Park", ), + ("DET06", "Hamtramck Stadium", ), + ("DET07", "Mack Park", ), + ("DET08", "Dequindre Park", ), + ("DOT01", "Wiregrass Stadium", ), + ("DTB01", "Cypress Street Park", ), + ("DUR01", "Durham Athletic Field", ), + ("DYE01", "Field of Dreams", ), + ("EAS01", "Federal Park", ), + ("EAU01", "Carson Park", ), + ("EOR01", "Grove Street Oval", ), + ("ERI01", "Ainsworth Field", ), + ("EVA01", "Bosse Field", ), + ("FAI01", "Fairview Park", ), + ("FAR01", "Barnett Field", ), + ("FIN01", "Ohio State League Park", ), + ("FLC01", "City Park", ), + ("FLI01", "Atwood Stadium", ), + ("FOR04", "State School Diamond", ), + ("FOR05", "Dwenger Park", ), + ("FRE01", "Freeport Stadium", ), + ("FTW01", "La Grave Field", ), + ("FUL01", "Fairfield Kitty League Park", ), + ("GAL01", "Moody Stadium", ), + ("GBW01", "Joannes Park", ), + ("GIN01", "Municipal Ballpark", ), + ("GLK01", "Great Lakes Naval Training Station", ), + ("GRA02", "Bigelow Field", ), + ("GRA03", "Lamar Park", ), + ("GRE01", "Sportsmans Park", ), + ("GRE03", "Memorial Stadium", ), + ("GRE04", "Offutt Field", ), + ("HAG01", "Municipal Stadium", ), + ("HAM01", "Turner Field", ), + ("HAR02", "Bulkeley Stadium", ), + ("HAS01", "Duncan Field", ), + ("HAV01", "Estadio Gran", ), + ("HOM01", "Municipal Field", ), + ("HOU04", "Buffalo Stadium", ), + ("HOU06", "West End Park", ), + ("HRB01", "Island Park", ), + ("HUN01", "Lincoln Park", ), + ("IND08", "Bush Stadium", ), + ("IND09", "Northwestern Park", ), + ("IND10", "Victory Field,Perry Stadium", ), + ("IND11", "Washington Park", ), + ("JAC01", "League Park", ), + ("JAC02", "Lakeview Park", ), + ("JAM01", "Celoron Baseball Park", ), + ("JKV01", "Red Cap Stadium", ), + ("JNC01", "Rathert Field", ), + ("JOH01", "Point Grounds", ), + ("JOP01", "Childress Field", ), + ("KAN06", "Kauffman Stadium", ), + ("KCK01", "Ward Field", ), + ("KEA01", "Memorial Diamond", ), + ("KEW01", "Northeast Park", ), + ("KNO01", "Caswell Park", ), + ("KNP01", "Glenwood Field", ), + ("KOK01", "Athletic Park", ), + ("KOK02", "Highland Park", ), + ("LAN01", "Stumpf Field", ), + ("LCR01", "Copeland Park", ), + ("LEB01", "Lebanon Memorial Park", ), + ("LEX01", "Blue Grass Field", ), + ("LGB01", "Recreation Park", ), + ("LIC01", "Recreation Park Queens Plaza", ), + ("LIM01", "Halloran Park", ), + ("LIN01", "Sherman Field", ), + ("LIN02", "Landis Yard", ), + ("LON01", "London Stadium", ), + ("LOS04", "Gilmore Field", ), + ("LOS05", "White Sox Park", ), + ("LOU05", "Parkway Field", ), + ("LRK01", "Crump Park", ), + ("LRK02", "Travelers Field", ), + ("MAC01", "Luther Williams Park", ), + ("MAN01", "Griffith Field", ), + ("MAT01", "Indians Park", ), + ("MEM01", "Lewis Athletic Park", ), + ("MEM02", "Martin Stadium", ), + ("MEM03", "Russwood Park", ), + ("MEX02", "Estadio Alfredo Harp Helu", ), + ("MIA02", "Marlins Park", ), + ("MID03", "Grandview Park Field", ), + ("MID04", "State Hospital Field", ), + ("MIL03", "Athletic Park", ), + ("MIL04", "Lloyd Street Grounds", ), + ("MIL06", "Miller Park", ), + ("MIN04", "Target Field", ), + ("MIN05", "Nicollet Park", ), + ("MNH01", "West Field", ), + ("MNL01", "Casino Park", ), + ("MRT01", "Matthewson Park", ), + ("MSN01", "Tin Plate Field", ), + ("MTG01", "Cramton Bowl", ), + ("MTV01", "Veterans Park", ), + ("MUN01", "Walnut Park", ), + ("MUN02", "McCullough Park", ), + ("MUS01", "Athletic Park", ), + ("MYV01", "Marysville Ball Park", ), + ("NCO01", "Memorial Stadium", ), + ("NFN01", "Athletic Park", ), + ("NIA01", "Hyde Park Stadium", ), + ("NLR01", "Booster Park", ), + ("NOL01", "Pelican Stadium", ), + ("NOL02", "Lincoln Park", ), + ("NOR01", "High Rock Park", ), + ("NOR02", "Tar Park", ), + ("NOR03", "Keller Field", ), + ("NOR04", "Norbeck Park", ), + ("NOR05", "Bain Field", ), + ("NPN01", "Builders Stadium", ), + ("NPN02", "Pensinsula War Memorial Stadium", ), + ("NSH01", "Tom Wilson Park", ), + ("NSH02", "Sulphur Dell", ), + ("NWC01", "P.J. Flaherty Memorial Field", ), + ("NWK02", "Meadowbrook Oval", ), + ("NWK03", "Newark Schools Stadium", ), + ("NWK04", "Ruppert Stadium", ), + ("NWO01", "Arnold Park", ), + ("NYC20", "Citi Field", ), + ("NYC21", "Yankee Stadium II", ), + ("NYC22", "Olympic Field", ), + ("NYC23", "Dexter Park", ), + ("NYC24", "Catholic Protectory Oval", ), + ("NYC25", "Dyckman Oval", ), + ("NYC26", "Hebrew Orphan Asylum Oval", ), + ("NYC27", "Recreation Park", ), + ("NYC28", "Erasmus Field", ), + ("NYC29", "Randalls Island", ), + ("OAK02", "Oaks Park", ), + ("OIL01", "Ramage-Hasson Field", ), + ("OKC01", "Holland Field", ), + ("OKC02", "Texas League Park", ), + ("OLE01", "Bradner Stadium", ), + ("OMA02", "League Park", ), + ("OMA03", "Omaha Municipal Stadium", ), + ("OSH01", "Municipal Athletic Field", ), + ("OWE01", "Miller Field", ), + ("OXF01", "Rodeo Grounds", ), + ("PAT01", "Hinchliffe Stadium", ), + ("PER01", "Washington Park", ), + ("PGK01", "Riverview Field", ), + ("PHI13", "Citizens Bank Park", ), + ("PHI15", "J.J. Dobson’s Park", ), + ("PHI16", "Passon Park", ), + ("PHI17", "44th and Parkside", ), + ("PHI18", "Twenty-fifth and Jefferson Grounds", ), + ("PHI19", "Bigler Park", ), + ("PHO01", "Chase Field", ), + ("PIT08", "PNC Park", ), + ("PIT09", "Greenlee Field", ), + ("PLP01", "Island Park", ), + ("POR01", "City Stadium", ), + ("POR02", "Riverside Park", ), + ("PTA01", "Legion Park", ), + ("PTR01", "Port Richmond", ), + ("PTX01", "Binnion Park", ), + ("RAC01", "Horlick Field", ), + ("RAL01", "Chavis Park", ), + ("RCI01", "Municipal Stadium", ), + ("RCK02", "Rox Park", ), + ("RED01", "Pirates Park", ), + ("REG01", "Park de Young", ), + ("RIC03", "Tate Field", ), + ("RIC04", "Mooers Field", ), + ("RIC05", "Mayo Island", ), + ("RKM01", "Talbert Park", ), + ("ROC04", "Red Wing Stadium", ), + ("SAN02", "Petco Park", ), + ("SAN03", "Lane Field", ), + ("SAN04", "Monroe Field", ), + ("SAT01", "Mission Stadium", ), + ("SBD01", "Lippincott Park", ), + ("SBY01", "Memorial Field", ), + ("SCI01", "Soos Park", ), + ("SCI02", "Yards Park", ), + ("SCP01", "Bellefonte Community Athletic Field", ), + ("SCR01", "Dunmore Stadium", ), + ("SEL01", "Rowell Field", ), + ("SEO01", "Gocheok Sky Dome", ), + ("SFO03", "Oracle Park", ), + ("SHA01", "Sharon Park", ), + ("SHR01", "Texas League Park", ), + ("SHW01", "Athletic Park", ), + ("SPR02", "Reservoir Park", ), + ("SPR03", "Lanphier Park", ), + ("SPR04", "Municipal Stadium", ), + ("SPR05", "White City Park", ), + ("SPR06", "Pynchon Park", ), + ("SPR07", "Fitzpatrick Stadium", ), + ("STA01", "Mitchell Field", ), + ("STC01", "Rox Park", ), + ("STC02", "Sports Park", ), + ("STJ01", "City Stadium", ), + ("STL10", "Busch Stadium III", ), + ("STL11", "Giants Park", ), + ("STL12", "Stars Park", ), + ("STL13", "National Park", ), + ("STP01", "Tropicana Field", ), + ("STP02", "Lexington Park", ), + ("SUN01", "Memorial Park", ), + ("SUP01", "Lincoln Park Field", ), + ("SYR04", "MacArthur Stadium", ), + ("TAL01", "Fair Grounds Park", ), + ("TAM01", "Plant Field", ), + ("TOL05", "Swayne Field", ), + ("TOP01", "Owl Park", ), + ("TOR02", "Rogers Centre", ), + ("TRE01", "Dunn Field", ), + ("TRE02", "YMCA Field", ), + ("TUL01", "Texas League Park", ), + ("TUS01", "Alberta Park", ), + ("UNI01", "Elks Park", ), + ("URB01", "Illinois Field", ), + ("WAC01", "Katy Park", ), + ("WAP01", "Wash-High Fied", ), + ("WAR02", "Fairgrounds Park", ), + ("WAR03", "Russell Field", ), + ("WAS11", "Nationals Park", ), + ("WFI01", "Memorial Stadium", ), + ("WFL01", "Spudder Field", ), + ("WHE02", "Holloway Memorial Park", ), + ("WIC01", "Lawrence Field", ), + ("WIL03", "Harlan Field", ), + ("WIL04", "Wilmington Park", ), + ("WIL06", "Legion Stadium", ), + ("WIL07", "Municipal Stadium", ), + ("WIL08", "Pennsy Field", ), + ("WIN01", "Osborne Stadium", ), + ("WIN02", "Gabrych Park", ), + ("WNY02", "Miller Stadium", ), + ("WSL01", "Soutside Park", ), + ("WYM01", "Arbor State Park", ), + ("YOR01", "Eagles Park", ), + ("YOR02", "Memorial Stadium", ), + ("YOR03", "Martin-Perry Field", ), + ("YOU01", "Idora Park", ), + ("ZAN01", "Mark Park", ), + ("ZAN02", "Municipal Stadium", ) + +INSERT IGNORE INTO teams + (team, park_id, league) VALUES + ("ALS", "", ""), + ("ANA", "", "AL"), + ("ARI", "", "NL"), + ("ATL", "", "NL"), + ("BAL", "", "AL"), + ("BOS", "", "AL"), + ("CHA", "", "AL"), + ("CHN", "", "NL"), + ("CIN", "", "NL"), + ("CLE", "", "AL"), + ("COL", "", "NL"), + ("DET", "", "AL"), + ("HOU", "", "NL"), + ("KCA", "", "AL"), + ("LAN", "", "NL"), + ("MIA", "", "NL"), + ("MIL", "", "AL"), + ("MIN", "", "AL"), + ("NLS", "", ""), + ("NYA", "", "AL"), + ("NYN", "", "NL"), + ("OAK", "", "AL"), + ("PHI", "", "NL"), + ("PIT", "", "NL"), + ("SDN", "", "NL"), + ("SEA", "", "AL"), + ("SFN", "", "NL"), + ("SLN", "", "NL"), + ("TBA", "", "AL"), + ("TEX", "", "AL"), + ("TOR", "", "AL"), + ("WAS", "", "NL") \ No newline at end of file diff --git a/data/stats_importer.py b/data/stats_importer.py index fc6131f..ee88551 100644 --- a/data/stats_importer.py +++ b/data/stats_importer.py @@ -1,4 +1,31 @@ import csv +from db_connect import Database + +class Importer: + def __init__(self, database: Database): + self.database = database + + def parse_all_data(self): + pass + + def parse_one_file(self, filepath): + bb_dict = {} + with open(filepath, 'r') as bb_data_file: + reader = csv.DictReader(bb_data_file) + bb_dict = list(reader) + + for game in bb_dict: + self.populate_database_with_stats(game) + + + def parse_one_line(self, line): + pass + + def parse_last_line_of_file(self, filepath): + pass + + def populate_database_with_stats(self, bb_game_stats): + pass def parse_csv(file_path): # Function to parse a CSV file and return an array of dictionaries