ホームページ  >  記事  >  データベース  >  Python の LOAD DATA INFILE コマンドを使用して UTF-8 エンコードされたデータを MySQL テーブルにインポートする方法

Python の LOAD DATA INFILE コマンドを使用して UTF-8 エンコードされたデータを MySQL テーブルにインポートする方法

Susan Sarandon
Susan Sarandonオリジナル
2024-10-30 05:27:28918ブラウズ

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

MySQL テーブルへの UTF-8 エンコード データのインポート

英語以外の文字を含む大きな CSV ファイルを MySQL テーブルにインポートする場合は、次のことが重要です。文字破損を防ぐために、UTF-8 エンコードを適切に処理してください。

Python の LOAD DATA LOCAL INFILE コマンドを使用して UTF-8 エンコードされたデータを MySQL テーブルにロードするには、次の手順に従います。

  1. 文字セットの設定: テーブル作成または変更クエリの CHARACTER SET 句を使用して、ターゲット列の文字セットが明示的に UTF8 に設定されていることを確認します。
  2. UTF-8 エンコーディングを指定: LOAD DATA INFILE コマンドに CHARACTER SET UTF8 オプションを含めて、インポートされるデータの UTF-8 エンコーディングを明示的に指定します。
  3. エンコーディング関数の設定 (オプション): に応じてデータの特定のエンコーディングに合わせて、LOAD DATA INFILE コマンドを実行する前に、SET NAMES または SET CHARACTER SET ステートメントを使用して適切なエンコーディング関数を指定する必要がある場合があります。
  4. フィールド ターミネータと行ターミネータを構成します (オプション): FIELDS TERMINATED BY オプションと LINES TERMINATED BY オプションをそれぞれ使用して、CSV ファイルで使用されるフィールド ターミネータと行ターミネータを定義します。

たとえば、次の Python コードは、UTF-8 で CSV ファイルをロードする方法を示しています。エンコードされたデータを 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。