Python中怎么将CSV文件导入MySQL数据库
发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,本篇文章为大家展示了Python中怎么将CSV文件导入MySQL数据库,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。CSV文件导入数据库一般有两种方法:1、通
千家信息网最后更新 2024年11月23日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安全错误
数据库的锁怎样保障安全
服务器读取不到硬盘linux
网络安全基础数学
华东师大公共数据库k
地瓜网络技术快手直播下载器
软件开发网站开发培训
网络技术总监一般都做什么业务
计算机网络技术考专升本
云服务器任务管理器
软件开发职位的职业
运城网络安全
软件开发中的概念模式
永智安华软件开发
盐城梓桐互联网科技有限公司
校园网络安全情况自查报告
海康威视 服务器
es表格怎样对比数据库
湖北放心软件开发应用
java亿万级数据库
克拉玛依软件开发销售价格
网络安全学院新模式
戴尔服务器e3
软件开发网课教师月收入
做网络技术工程能在哪上班
安徽运营网络技术成本
专业pcb板硬软件开发
第八届国家网络安全周活动方案
网络安全登录机制
给网站提交数据库
洋葱学院服务器升级要多久
东莞易纬网络技术有限公司