Python中怎么将CSV文件导入MySQL数据库
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,本篇文章为大家展示了Python中怎么将CSV文件导入MySQL数据库,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。CSV文件导入数据库一般有两种方法:1、通
千家信息网最后更新 2025年02月06日Python中怎么将CSV文件导入MySQL数据库
本篇文章为大家展示了Python中怎么将CSV文件导入MySQL数据库,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
CSV文件导入数据库一般有两种方法:
1、通过SQL的insert方法一条一条导入,适合数据量小的CSV文件,这里不做赘述。
2、通过load data方法导入,速度快,适合大数据文件,也是本文的重点。
样本CSV文件如下:
总体工作分为3步:
1、用python连接mysql数据库,可参考如何使用python连接数据库?
2、基于CSV文件表格字段创建表
3、使用load data方法导入CSV文件内容
load data语法简介:
LOAD DATA LOCAL INFILE 'csv_file_path' INTO TABLE table_name FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES
csv_file_path 指文件绝对路径
table_name 指表名称
FIELDS TERMINATED BY ',' 指以逗号分隔
LINES TERMINATED BY '\\r\\n' 指换行
IGNORE 1 LINES 指跳过第一行,因为第一行是表的字段名
下面给出全部代码:
下面给出全部代码:
#导入pymysql方法
import pymysql
#连接数据库
config = {'host':'',
'port':3306,
'user':'evdata',
'passwd':'',
'charset':'utf8mb4',
'local_infile':1
}
conn = pymysql.connect(**config)
cur = conn.cursor()
#load_csv函数,参数分别为csv文件路径,表名称,数据库名称
def load_csv(csv_file_path,table_name,database='evdata'):
#打开csv文件
file = open(csv_file_path, 'r',encoding='utf-8')
#读取csv文件第一行字段名,创建表
reader = file.readline()
b = reader.split(',')
colum = ''
for a in b:
colum = colum + a + ' varchar(255),'
colum = colum[:-1]
#编写sql,create_sql负责创建表,data_sql负责导入数据
create_sql = 'create table if not exists ' + table_name + ' ' + '(' + colum + ')' + ' DEFAULT CHARSET=utf8'
data_sql = "LOAD DATA LOCAL INFILE '%s' INTO TABLE %s FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES" % (csv_filename,table_name)
#使用数据库
cur.execute('use %s' % database)
#设置编码格式
cur.execute('SET NAMES utf8;')
cur.execute('SET character_set_connection=utf8;')
#执行create_sql,创建表
cur.execute(create_sql)
#执行data_sql,导入数据
cur.execute(data_sql)
conn.commit()
#关闭连接
conn.close()
cur.close()
出现的问题:
我是用win10系统,代码执行时会出现以下错误
ERROR 1148 (42000): The used command is not allowed with this MySQL version.
原因是不支持命令 load data
解决方法:
需要更改下配置文件
在mysql安装目录中找到my.ini配置文件,复制以下内容到文件中
[mysqld] #服务端配置
local-infle = 1
[mysql] #客户端配置
local-infile = 1
上述内容就是Python中怎么将CSV文件导入MySQL数据库,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
文件
数据
数据库
方法
内容
配置
一行
代码
名称
字段
技能
知识
路径
简明
简明扼要
函数
原因
参数
命令
客户
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
崇明区软件开发大概费用
触碰网络安全红线
华为语音服务器如何连接电话
gitbook 服务器
交互式绘图软件开发
小学生网络安全竟赛
人民数据库百度百科
我的世界如何提取服务器地图种子
小牛在线网络安全
东莞做软件开发
成都公司进销存软件开发
在数据库中查询价格
nexus服务器
陕西租用gpu服务器费用
数据库技术课程有些什么
win10系统管理服务器
苹果系统的软件开发语言
网站底部网络安全标志
怎么用云服务器创业
幸运方块无法连接至服务器
如何启动t3数据库
同花顺是什么软件开发的
程序查询慢数据库快
如何判断自己是否成功连接数据库
无法识别网络安全
荣耀服务器硬盘
深度学习云服务器训练
服务器跟app系统
网络安全 hcie
网络技术女生适合做什么