CSV sang SQL Python

Tính năng từ CSVKIT thật tuyệt vời khi chơi với dữ liệu CSV trong bộ nhớ khi bạn đã quen với các truy vấn SQL. Tập tiếp theo của bài viết, chúng tôi sẽ kiểm tra việc chơi với cơ sở dữ liệu và tệp CSV

Tò mò về việc tìm hiểu thêm về Python, Databricks Spark và Data Engineering — Vui lòng theo dõi loạt Bài viết học tập này để đọc và tìm hiểu thêm về Python, Spark và Data Engineering, vui lòng theo dõi Ramesh Nelluri và đăng ký phương tiện

Để 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[‘//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

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]
2 tạo kết nối đến máy chủ MySQL và trả về một đối tượng
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

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?

  • 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 là tên của bảng mà chúng tôi muốn chèn DataFrame 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 mà chúng ta 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]

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

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 để chuyển đổi CSV sang MySQL bằng Python?

Bước 1. Chuẩn bị tệp CSV. Để bắt đầu, hãy chuẩn bị tệp CSV mà bạn muốn nhập vào MySQL. .
Bước 2. Nhập tệp CSV vào DataFrame. .
Bước 3. Kết nối với MySQL bằng Python và tạo Cơ sở dữ liệu. .
Bước 4. Tạo bảng và Nhập dữ liệu CSV vào bảng MySQL. .
Bước 5. Truy vấn bảng

Làm cách nào để chuyển đổi CSV thành bảng trong Python?

Bạn có thể đọc tệp CSV vào DataFrame bằng cách sử dụng hàm read_csv[] [chức năng này sẽ quen thuộc với bạn, nhưng bạn có thể chạy help[pd. read_csv] trong bảng điều khiển để làm mới bộ nhớ của bạn. ]. Sau đó, bạn có thể gọi. to_sql[] trên DataFrame để tải nó vào bảng SQL trong cơ sở dữ liệu .

Làm cách nào để đọc tệp CSV trong SQL?

Sử dụng Công cụ Nhập CSV của SQL Server Management Studio .
Từ Object Explorer, mở rộng thư mục cơ sở dữ liệu. .
Chọn cơ sở dữ liệu đích. .
Chọn nguồn tệp phẳng. .
Chỉ định Tệp CSV. .
Định cấu hình các cột. .
Chọn Đích [Máy chủ SQL].
Chỉ định bảng cơ sở dữ liệu và kiểm tra ánh xạ cột

Chúng tôi có thể truy vấn tệp CSV bằng Python không?

querycsv -- Truy vấn Tệp CSV. truy vấncsv. py là một mô-đun và chương trình Python cho phép bạn thực thi mã SQL đối với dữ liệu chứa trong một hoặc nhiều tệp giá trị được phân tách bằng dấu phẩy [CSV] . Đầu ra của truy vấn SQL sẽ được hiển thị trên bảng điều khiển theo mặc định nhưng có thể được lưu trong tệp CSV mới.

Chủ Đề