haikal/merge_db.py
Marwan Alwali fef20c666d update
2025-02-09 20:17:22 +03:00

35 lines
1.3 KiB
Python

import pymysql
from sqlalchemy import create_engine
import pandas as pd
# Database connection
engine = create_engine("mysql+pymysql://root:Kfsh&rc9788@localhost/car2db01022025")
try:
# Load car_generation table
car_generation_query = "SELECT * FROM car_generation;"
car_generation_df = pd.read_sql(car_generation_query, engine)
# Load car_serie table
car_serie_query = "SELECT * FROM car_serie;"
car_serie_df = pd.read_sql(car_serie_query, engine)
# Perform a LEFT JOIN to keep all car series and merge with car generations
merged_df = pd.merge(car_serie_df, car_generation_df, on="id_car_generation", how="left")
# Select and rename the relevant columns
final_df = merged_df.rename(columns={
"id_car_serie": "id_car_serie",
"id_car_model_x": "id_car_model", # Ensure correct column selection
"name_y": "generation_name", # Car generation name
"name_x": "serie_name", # Car series name
"year_begin": "year_begin",
"year_end": "year_end"
})[["id_car_serie", "id_car_model", "generation_name", "serie_name", "year_begin", "year_end"]]
# Save the filtered data to a JSON file
final_df.to_json("merged_car_data.json", orient="records", indent=4)
print("Filtered merged data saved to 'merged_car_data.json'.")
except Exception as e:
print("Error:", e)