CSV是一種非常常見的數據格式,它可以用來保存大量的數據,并且非常易于處理。如果你需要將一個CSV文件中的數據導入到MySQL數據庫中,那么這篇文章將會非常有用。
在開始使用CSV導入MySQL之前,你需要確定你的MySQL數據庫已經準備好接收數據。你還需要確定你已經安裝了數據庫連接器,比如Python中的"mysql-connector-python"。
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
一旦你的數據庫連接成功,你就可以使用Python中的CSV模塊來讀取CSV文件。以下是一個例子:
import csv
with open('data.csv', mode='r') as file:
reader = csv.reader(file)
next(reader)
for row in reader:
print(row)
上面這個例子將輸出CSV文件中的每一行。你可能已經注意到,在第3行的代碼中,我們使用了"next(reader)"來跳過文件的第一行。這是因為第一行通常包含表頭信息,我們不需要將其作為實際的數據使用。
一旦你讀取了CSV文件中的每一行數據,你就可以將它們導入到MySQL數據庫中。以下是一個例子:
import mysql.connector
import csv
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
with open('data.csv', mode='r') as file:
reader = csv.reader(file)
next(reader)
for row in reader:
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = (row[0], row[1])
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record(s) inserted.")
上面這個例子將CSV文件中的每一行數據插入到一個名為"customers"的表中。其中,我們使用了%s占位符來表示要插入的數據,并且通過元組val的形式將數據傳遞給了execute()方法。
最后,我們使用了commit()方法來確保數據被成功插入到MySQL數據庫中,并且打印了插入記錄的數量。