Spaces:
Runtime error
Runtime error
| import json | |
| from util.dbquery import connection, load_json, insert_data | |
| import csv | |
| # def load_json(name): | |
| # json_data = [] | |
| # with open(name, "r", encoding = 'utf-8') as file: | |
| # data = json.load(file) | |
| # for item in data["DATA"]: | |
| # id = item["p_seq"] | |
| # Market_id = item ["m_seq"] | |
| # Market_name_KR = item ["m_name"] | |
| # Market_type_name = item ["m_type_name"] | |
| # Market_type_id = item ["m_type_code"] | |
| # Local_id = item ["m_gu_code"] | |
| # Local_name_KR = item ["m_gu_name"] | |
| # Product_id = item ["a_seq"] | |
| # Product_name = item ["a_name"] | |
| # Product_unit = item ["a_unit"] | |
| # Product_price = item ["a_price"] | |
| # Year_of_sale = item ["p_year_month"] | |
| # etc = item ["add_col"] | |
| # UpdateDate = item ["p_date"] | |
| # temp = [id, Market_id, Market_name_KR, Market_type_name, Market_type_id, Local_id, Local_name_KR, Product_id, Product_name, Product_unit, Product_price, Year_of_sale, etc, UpdateDate] | |
| # json_data.append(temp) | |
| # return json_data | |
| def load_market_csv(name): | |
| csv_data = [] | |
| with open(name, newline='', encoding='utf-8') as file: | |
| data = csv.reader(file) | |
| # κ° νμ μΆλ ₯νλ μμ | |
| for item in data: | |
| Key_value = item[10] | |
| Market_name_KR = item[1] | |
| Market_Name_EN = item[9] | |
| Local_name_KR = item[0] | |
| Local_name_EN = item[11] | |
| Local_name_dong = item[12] | |
| Address = item[3] | |
| Latitude = item[4] | |
| Longitude = item[5] | |
| Tel = item[6] | |
| Market_shape = item[2] | |
| Building_scale = item[7] | |
| Num_of_stores = item[8] | |
| temp = [Key_value, Market_name_KR, Market_Name_EN, Local_name_KR, Local_name_EN, Local_name_dong, Address, Latitude, Longitude, Tel, Market_shape, Building_scale, Num_of_stores] | |
| csv_data.append(temp) | |
| return csv_data | |
| def load_population_csv(name): | |
| csv_data = [] | |
| with open(name, newline='', encoding='utf-8') as file: | |
| data = csv.reader(file) | |
| for item in data: | |
| id = item[1] | |
| Category = item[0] | |
| Area_code = item[2] | |
| Area_name_KR = item[3] | |
| Area_name_EN = item[6] | |
| Latitude = item[4] | |
| Longitude = item[5] | |
| temp = [id, Category, Area_code, Area_name_KR, Area_name_EN, Latitude, Longitude] | |
| csv_data.append(temp) | |
| return csv_data | |
| def init_data(): | |
| print("λ°μ΄ν° λ² μ΄μ€ μ΄κΈ°μ€μ μ€....") | |
| conn = connection() | |
| try: | |
| with conn.cursor() as cursor: | |
| #ν μ΄λΈ μμ± | |
| query1 = "CREATE TABLE IF NOT EXISTS Markets(id INT, Market_id INT, Market_name_KR VARCHAR(255), Market_type_name VARCHAR(50), Market_type_id VARCHAR(10), Local_id VARCHAR(10), Local_name_KR VARCHAR(50), Product_id INT, Product_name VARCHAR(255), Product_unit VARCHAR(50), Product_price DECIMAL(10,2), Year_of_sale VARCHAR(7), etc VARCHAR(255), UpdateDate DATE, PRIMARY KEY (id))" | |
| query2 = "CREATE TABLE IF NOT EXISTS Market_Info(Key_value VARCHAR(20), Market_name_KR VARCHAR(255), Market_name_EN VARCHAR(255), Local_name_KR VARCHAR(50), Local_name_EN VARCHAR(50), Local_name_dong VARCHAR(50), Address VARCHAR(255), Latitude DOUBLE, Longitude DOUBLE, Tel VARCHAR(20), Market_shape VARCHAR(50), Building_scale FLOAT, Num_of_stores FLOAT, PRIMARY KEY(Key_value))" | |
| query3 = "CREATE TABLE IF NOT EXISTS Population(id INT, Category VARCHAR(50), Area_code VARCHAR(100), Area_name_KR VARCHAR(100), Area_name_EN VARCHAR(100), Latitude DOUBLE, Longitude DOUBLE, PRIMARY KEY(id))" | |
| cursor.execute(query1) | |
| cursor.execute(query2) | |
| cursor.execute(query3) | |
| # μλ‘μ΄ λ°μ΄ν° μ½μ | |
| json_data = load_json("data/data.json") | |
| csv_market_data = load_market_csv("data/market_name_utf8.csv") | |
| csv_population_data = load_population_csv("data/population.csv") | |
| insert_data(json_data) | |
| for item in csv_market_data: | |
| query = "INSERT IGNORE INTO Market_Info(Key_value, Market_name_KR, Market_name_EN, Local_name_KR, Local_name_EN, Local_name_dong, Address, Latitude, Longitude, Tel, Market_shape, Building_scale, Num_of_stores) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)" | |
| cursor.execute(query, (item[0], item[1], item[2], item[3], item[4], item[5], item[6], item[7], item[8], item[9], item[10], item[11], item[12])) | |
| for item in csv_population_data: | |
| query = "INSERT IGNORE INTO Population(id, Category, Area_code, Area_name_KR, Area_name_EN, Latitude, Longitude) VALUES (%s, %s, %s, %s, %s, %s, %s)" | |
| cursor.execute(query, (item[0], item[1], item[2], item[3], item[4], item[5], item[6])) | |
| # μ½μ ν λ°μ΄ν°λ₯Ό μ»€λ° | |
| conn.commit() | |
| with conn.cursor() as cursor: | |
| # μ½μ ν λ°μ΄ν°λ₯Ό κ²μ | |
| query = "SELECT COUNT(*) as Key_value FROM Market_Info" | |
| cursor.execute(query) | |
| result = cursor.fetchall() | |
| print(f"νμ¬ Market_Info ν μ΄λΈμ μ‘΄μ¬νλ λ°μ΄ν°: {result}") | |
| query = "SELECT COUNT(*) as id FROM Population" | |
| cursor.execute(query) | |
| result = cursor.fetchall() | |
| print(f"νμ¬ Population ν μ΄λΈμ μ‘΄μ¬νλ λ°μ΄ν°: {result}") | |
| finally: | |
| # μ°κ²° λ«κΈ° | |
| conn.close() | |
| #code test | |
| # init_data() |