>  기사  >  데이터 베이스  >  Python의 LOAD DATA INFILE 명령을 사용하여 UTF-8로 인코딩된 데이터를 MySQL 테이블로 가져오는 방법은 무엇입니까?

Python의 LOAD DATA INFILE 명령을 사용하여 UTF-8로 인코딩된 데이터를 MySQL 테이블로 가져오는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-30 05:27:28919검색

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

UTF-8로 인코딩된 데이터를 MySQL 테이블로 가져오기

영어가 아닌 문자가 포함된 대용량 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.