首頁 >資料庫 >mysql教程 >如何使用Python的LOAD DATA INFILE指令將UTF-8編碼的資料匯入MySQL表?

如何使用Python的LOAD DATA INFILE指令將UTF-8編碼的資料匯入MySQL表?

Susan Sarandon
Susan Sarandon原創
2024-10-30 05:27:28990瀏覽

How to Import UTF-8 Encoded Data into a MySQL Table Using Python's LOAD DATA INFILE Command?

將UTF-8 編碼資料匯入MySQL 表

將包含非英文字元的大型CSV 檔案匯入SQL 表時,必須正確處理UTF-8 編碼以防止字元損壞。

載入UTF-8 編碼資料使用Python 的LOAD DATA LOCAL INFILE 指令匯入MySQL 表,請依照下列步驟操作:

  1. 設定字元集: 確保🎜> 確保使用CHARACTER 將目標列的字元集明確設定為UTF8表建立或變更查詢中的SET 子句。
  2. 指定 UTF-8編碼: 在 LOAD DATA INFILE 指令中包含 CHARACTER SET UTF8 選項,以明確指示正在匯入的資料的 UTF-8 編碼。
  3. 設定編碼功能(可選):根據資料的特定編碼,您可能需要在執行 LOAD 之前使用 SET NAMES 或 SET CHARACTER SET 語句指定適當的編碼函數DATA INFILE 命令。
  4. 設定欄位和行終止符(可選):分別使用 FIELDS TERMINATED BY 和 LINES TERMINATED BY 選項定義 CSV 檔案中使用的欄位和行終止符。
例如,以下Python 程式碼示範了使用以下指令載入CSV 檔案將UTF-8 編碼資料匯入MySQL 表:

<code class="python">import mysql.connector

conn = mysql.connector.connect(
    user='username',
    password='password',
    host='localhost',
    database='database'
)

cursor = conn.cursor()

# Create a table with a UTF-8 character set
query = """
CREATE TABLE IF NOT EXISTS utf8_table (
  id INT AUTO_INCREMENT PRIMARY KEY,
  data VARCHAR(255) CHARACTER SET utf8
);
"""
cursor.execute(query)
conn.commit()

# Load the UTF-8 encoded CSV file
query = """
LOAD DATA INFILE 'utf8_data.csv'
IGNORE INTO TABLE utf8_table
CHARACTER SET UTF8
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
"""
cursor.execute(query)
conn.commit()

cursor.close()
conn.close()</code>
依照下列步驟,您可以成功將UTF -8 編碼資料匯入MySQL 表,同時準確保留非英文字元。

以上是如何使用Python的LOAD DATA INFILE指令將UTF-8編碼的資料匯入MySQL表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn