CSV 导入 MySQL 中文涉及几个基础概念和技术点:
原因:CSV 文件中的中文字符编码与 MySQL 数据库中的字符编码不一致。
解决方法:
utf8mb4
,以支持更广泛的 Unicode 字符。LOAD DATA INFILE
命令导入 CSV 文件时,指定字符集,例如:LOAD DATA INFILE 'path/to/your/file.csv'
INTO TABLE your_table
CHARACTER SET utf8mb4
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '
';
原因:CSV 文件中的字段顺序或名称与 MySQL 表中的字段不匹配。
解决方法:
LOAD DATA INFILE
命令的 FIELDS
和 LINES
子句来指定字段和行的分隔符,以及字段的映射关系。原因:CSV 文件中的某些数据类型与 MySQL 表中的数据类型不匹配。
解决方法:
以下是一个简单的 Python 脚本示例,用于将 CSV 文件导入 MySQL 数据库:
import mysql.connector
import csv
# 连接 MySQL 数据库
db = mysql.connector.connect(
host="localhost",
user="your_username",
password="your_password",
database="your_database"
)
cursor = db.cursor()
# 打开 CSV 文件
with open('path/to/your/file.csv', 'r', encoding='utf-8-sig') as csvfile:
csvreader = csv.reader(csvfile)
next(csvreader) # 跳过标题行
for row in csvreader:
# 构造 SQL 插入语句
sql = "INSERT INTO your_table (field1, field2, field3) VALUES (%s, %s, %s)"
cursor.execute(sql, row)
# 提交事务并关闭连接
db.commit()
cursor.close()
db.close()
注意:请根据实际情况修改数据库连接信息、CSV 文件路径和表结构。
领取专属 10元无门槛券
手把手带您无忧上云