Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| import gradio as gr | |
| def generate_sql(file, operation, table_name): | |
| if file is None or not table_name: | |
| return "Please upload a CSV file and enter a table name." | |
| df = pd.read_csv(file.name) | |
| columns = df.columns.tolist() | |
| queries = [] | |
| if operation == "ADD": | |
| for _, row in df.iterrows(): | |
| values = tuple(row) | |
| query = f"INSERT INTO {table_name} ({', '.join(columns)}) VALUES {values};" | |
| queries.append(query) | |
| elif operation == "UPDATE": | |
| primary_key = columns[0] # Assuming the first column is the primary key | |
| for _, row in df.iterrows(): | |
| set_clause = ', '.join([f"{col}='{row[col]}'" for col in columns[1:]]) | |
| query = f"UPDATE {table_name} SET {set_clause} WHERE {primary_key}='{row[primary_key]}';" | |
| queries.append(query) | |
| elif operation == "DELETE": | |
| primary_key = columns[0] | |
| for _, row in df.iterrows(): | |
| query = f"DELETE FROM {table_name} WHERE {primary_key}='{row[primary_key]}';" | |
| queries.append(query) | |
| return "\n".join(queries) | |
| iface = gr.Interface( | |
| fn=generate_sql, | |
| inputs=[ | |
| gr.File(label="Upload CSV File"), | |
| gr.Radio(["ADD", "UPDATE", "DELETE"], label="Select Operation"), | |
| gr.Textbox(label="Enter Table Name") | |
| ], | |
| outputs=gr.Textbox(label="Generated SQL Queries"), | |
| title="CSV to SQL Query Converter", | |
| description="<div style='text-align: center; margin-top: 20px;'>© 2025 Sandaru Abeykoon. All rights reserved.</div>", | |
| ) | |
| iface.launch() | |