-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathload_data.py
More file actions
65 lines (55 loc) · 1.5 KB
/
Copy pathload_data.py
File metadata and controls
65 lines (55 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import pandas as pd
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="root",
password="Chanda@2525",
database="sales_project"
)
print("MySQL connected!")
df = pd.read_csv("sales_cleaned.csv")
df.columns = df.columns.str.replace(' ', '_').str.replace('%', 'pct')
print("Columns:", df.columns.tolist())
print("Rows to load:", len(df))
cursor = conn.cursor()
cursor.execute("DROP TABLE IF EXISTS sales;")
cursor.execute("""
CREATE TABLE sales (
Row_ID INT,
Order_ID VARCHAR(20),
Order_Date DATE,
Ship_Date DATE,
Ship_Mode VARCHAR(30),
Customer_ID VARCHAR(20),
Customer_Name VARCHAR(50),
Segment VARCHAR(20),
Country VARCHAR(30),
City VARCHAR(30),
State VARCHAR(30),
Postal_Code VARCHAR(10),
Region VARCHAR(20),
Product_ID VARCHAR(20),
Category VARCHAR(30),
Sub_Category VARCHAR(30),
Product_Name VARCHAR(200),
Sales FLOAT,
Quantity INT,
Discount FLOAT,
Profit FLOAT,
Year INT,
Month INT,
Month_Name VARCHAR(5),
Quarter VARCHAR(3),
Profit_Margin_pct FLOAT
)
""")
print("Table 'sales' created.")
for _, row in df.iterrows():
cursor.execute("""
INSERT INTO sales VALUES
(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)
""", tuple(row))
conn.commit()
print("Data loaded:", len(df))
cursor.close()
conn.close()