Maison  >  Article  >  base de données  >  Comment importer des données codées en UTF-8 dans une table MySQL à l'aide de la commande LOAD DATA INFILE de Python ?

Comment importer des données codées en UTF-8 dans une table MySQL à l'aide de la commande LOAD DATA INFILE de Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-30 05:27:28919parcourir

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

Importation de données codées en UTF-8 dans une table MySQL

Lors de l'importation de gros fichiers CSV contenant des caractères non anglais dans des tables MySQL, il est essentiel de gérez correctement l'encodage UTF-8 pour éviter la corruption des caractères.

Pour charger des données codées en UTF-8 dans une table MySQL à l'aide de la commande LOAD DATA LOCAL INFILE de Python, suivez ces étapes :

  1. Définir le jeu de caractères : Assurez-vous que le jeu de caractères de la colonne cible est explicitement défini sur UTF8 à l'aide de la clause CHARACTER SET dans votre requête de création ou de modification de table.
  2. Spécifiez l'encodage UTF-8 : Incluez l'option CHARACTER SET UTF8 dans la commande LOAD DATA INFILE pour indiquer explicitement l'encodage UTF-8 des données en cours d'importation.
  3. Définir la fonction d'encodage (facultatif) : Selon Encodage spécifique de vos données, vous devrez peut-être spécifier une fonction d'encodage appropriée à l'aide des instructions SET NAMES ou SET CHARACTER SET avant d'exécuter la commande LOAD DATA INFILE.
  4. Configurer les terminateurs de champ et de ligne (facultatif) : Définissez les terminateurs de champ et de ligne utilisés dans votre fichier CSV en utilisant respectivement les options FIELDS TERMINATED BY et LINES TERMINATED BY.

Par exemple, le code Python suivant montre le chargement d'un fichier CSV avec UTF-8 données codées dans une table 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>

En suivant ces étapes, vous pouvez importer avec succès des données codées en UTF-8 dans votre table MySQL tout en préservant avec précision les caractères non anglais.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn