Làm cách nào để tạo cơ sở dữ liệu từ tệp CSV bằng Python?

Để bắt đầu, hãy chuẩn bị hoặc xác định tệp CSV mà bạn muốn nhập vào cơ sở dữ liệu MySQL. Ví dụ: tôi đã tải dữ liệu mống mắt từ GitHub

import pandas as pd
irisData = pd.read_csv(‘https://github.com/Muhd-Shahid/Write-Raw-File-into-Database-Server/raw/main/iris.csv',index_col=False)
irisData.head()

Trong đó, dữ liệu là dấu phân cách bằng dấu phẩy. Mỗi dòng của tệp CSV được kết thúc bằng một ký tự xuống dòng

Bước 2. Kết nối với MySQL và tạo cơ sở dữ liệu

Bây giờ hãy tạo đối tượng kết nối để kết nối với máy chủ MySQL. Hàm tạo connect() tạo kết nối đến máy chủ MySQL và trả về một đối tượng MySQLConnection

import mysql.connector as msql
from mysql.connector import Error
try:
conn = msql.connect(host='localhost', user='root',
password='sql@123')
if conn.is_connected():
cursor = conn.cursor()
cursor.execute("CREATE DATABASE irisDB")
print("irisDB database is created")
except Error as e:
print("Error while connecting to MySQL", e)

Bước 3. Tạo bảng & Nhập dữ liệu CSV vào bảng MySQL

3. 1. Chèn Pandas DataFrames vào cơ sở dữ liệu bằng INSERT

Trước tiên, chúng ta sẽ đảm bảo rằng các tham số cột và kiểu dữ liệu trong bảng SQL mà chúng ta sẽ tạo phải khớp với số lượng cột và kiểu dữ liệu của tệp CSV

Các loại dữ liệu của dữ liệu mống mắt

Chúng tôi sẽ tạo bảng iris trong cơ sở dữ liệu irisDB và chèn các bản ghi vào máy chủ MySQL

try:
conn = msql.connect(host='localhost',
database='irisDB', user='root',
password='sql@123')
if conn.is_connected():
cursor = conn.cursor()
cursor.execute("select database();")
record = cursor.fetchone()
print("You're connected to database: ", record)
cursor.execute('DROP TABLE IF EXISTS iris;')
print('Creating table....')
cursor.execute("CREATE TABLE iris (sepal_length FLOAT(2,1)
NOT NULL, sepal_width FLOAT(2,1) NOT NULL,
petal_length FLOAT(2,1) NOT NULL,
petal_width FLOAT(2,1),species CHAR(11)NOT
NULL)")
print("iris table is created....")
for i,row in irisData.iterrows():
sql = "INSERT INTO irisdb.iris VALUES (%s,%s,%s,%s,%s)"
cursor.execute(sql, tuple(row))
print("Record inserted")
# the connection is not autocommitted by default, so we
must commit to save our changes
conn.commit()
except Error as e:
print("Error while connecting to MySQL", e)

3. 1. 1. Truy vấn cơ sở dữ liệu để kiểm tra công việc của chúng tôi

hãy truy vấn cơ sở dữ liệu để đảm bảo rằng dữ liệu đã chèn của chúng tôi đã được lưu chính xác

# Execute query
sql = "SELECT * FROM iris"
cursor.execute(sql)

# Fetch all the records
result = cursor.fetchall()
for i in result:
print(i)

3. 2. Chèn Pandas DataFrames vào cơ sở dữ liệu bằng hàm to_sql()

# import the module
from sqlalchemy import create_engine
# create sqlalchemy engine
engine = create_engine("mysql+pymysql://{user}:{pw}@localhost/{db}"
.format(user="root", pw="sql@123",
db="irisdb"))
# Insert whole DataFrame into MySQL
irisData.to_sql('iris', con = engine, if_exists = 'append', chunksize = 1000,index=False)

Điều gì đang xảy ra ở đây?

  • iris là tên của bảng mà chúng tôi muốn chèn Khung dữ liệu của mình vào
  • import mysql.connector as msql
    from mysql.connector import Error
    try:
    conn = msql.connect(host='localhost', user='root',
    password='sql@123')
    if conn.is_connected():
    cursor = conn.cursor()
    cursor.execute("CREATE DATABASE irisDB")
    print("irisDB database is created")
    except Error as e:
    print("Error while connecting to MySQL", e)
    0 cung cấp chi tiết kết nối (nhớ lại rằng chúng tôi đã tạo
    import mysql.connector as msql
    from mysql.connector import Error
    try:
    conn = msql.connect(host='localhost', user='root',
    password='sql@123')
    if conn.is_connected():
    cursor = conn.cursor()
    cursor.execute("CREATE DATABASE irisDB")
    print("irisDB database is created")
    except Error as e:
    print("Error while connecting to MySQL", e)
    1 bằng cách sử dụng chi tiết xác thực của chúng tôi ở bước trước)
  • import mysql.connector as msql
    from mysql.connector import Error
    try:
    conn = msql.connect(host='localhost', user='root',
    password='sql@123')
    if conn.is_connected():
    cursor = conn.cursor()
    cursor.execute("CREATE DATABASE irisDB")
    print("irisDB database is created")
    except Error as e:
    print("Error while connecting to MySQL", e)
    2kiểm tra xem bảng chúng tôi chỉ định đã tồn tại hay chưa, sau đó nối thêm dữ liệu mới (nếu nó tồn tại) hoặc tạo một bảng mới (nếu nó không tồn tại)
  • import mysql.connector as msql
    from mysql.connector import Error
    try:
    conn = msql.connect(host='localhost', user='root',
    password='sql@123')
    if conn.is_connected():
    cursor = conn.cursor()
    cursor.execute("CREATE DATABASE irisDB")
    print("irisDB database is created")
    except Error as e:
    print("Error while connecting to MySQL", e)
    3 ghi các bản ghi theo lô có kích thước nhất định tại một thời điểm. Theo mặc định, tất cả các hàng sẽ được viết cùng một lúc

3. 2. 1. Truy vấn cơ sở dữ liệu để kiểm tra công việc của chúng tôi

Một lần nữa, hãy truy vấn cơ sở dữ liệu để đảm bảo rằng dữ liệu đã chèn của chúng tôi đã được lưu chính xác

# Execute query
sql = "SELECT * FROM iris"
cursor.execute(sql)
# Fetch all the records
result = cursor.fetchall()
for i in result:
print(i)

# Close the connection
if (conn.is_connected()):
cursor.close()
conn.close()
print(“MySQL connection is closed”)

Phần kết luận

Trong hướng dẫn này, Chúng tôi đã thảo luận cách nhập Pandas DataFrames vào cơ sở dữ liệu MySQL bằng hai phương pháp khác nhau, bao gồm phương pháp

import mysql.connector as msql
from mysql.connector import Error
try:
conn = msql.connect(host='localhost', user='root',
password='sql@123')
if conn.is_connected():
cursor = conn.cursor()
cursor.execute("CREATE DATABASE irisDB")
print("irisDB database is created")
except Error as e:
print("Error while connecting to MySQL", e)
4 hiệu quả cao

Làm cách nào để tạo cơ sở dữ liệu từ CSV?

Các bước tạo cơ sở dữ liệu bằng tệp CSV .
Tải lên và chuyển đổi nhiều tệp CSV làm tài nguyên
Nhập tài nguyên của bạn vào một dự án
Chuyển đổi các bảng của bạn thành một định dạng phù hợp
Thêm tệp CSV mới để cập nhật bảng của bạn

Làm cách nào để tạo cơ sở dữ liệu SQLite từ tệp CSV bằng Python?

Pandas giúp dễ dàng tải dữ liệu CSV này vào bảng sqlite. .
nhập gấu trúc dưới dạng pd
# tải dữ liệu vào Pandas DataFrame
người dùng = pd. read_csv('người dùng. csv')
# ghi dữ liệu vào bảng sqlite
người dùng. to_sql('users', conn, if_exists='append', index = False)

Bạn có thể tạo cơ sở dữ liệu bằng Python không?

Tạo cơ sở dữ liệu trong MySQL bằng python . Bạn sẽ cần các đặc quyền để tạo hoặc xóa cơ sở dữ liệu MySQL. Vì vậy, nếu bạn có quyền truy cập vào người dùng root, bạn có thể tạo bất kỳ cơ sở dữ liệu nào. You can connect to an existing database or, create your own. You would need special privileges to create or to delete a MySQL database. So if you have access to the root user, you can create any database.

Làm cách nào để tạo cơ sở dữ liệu SQLite từ tệp CSV?

Đầu tiên, từ menu chọn mục menu công cụ. Thứ hai, chọn cơ sở dữ liệu và bảng mà bạn muốn nhập dữ liệu rồi nhấp vào nút Tiếp theo. Thứ ba, chọn CSV làm loại nguồn dữ liệu, chọn tệp CSV trong trường Tệp đầu vào và chọn tùy chọn ,(dấu phẩy) làm Dấu tách trường như minh họa trong hình bên dưới