-
python读取csv文件_如何通过Python将CSV文件导入MySQL数据库?
2020-11-14 02:35:23CSV文件导入数据库一般有两种方法:1、通过SQL...样本CSV文件如下:总体工作分为3步:1、用python连接mysql数据库,可参考如何使用python连接数据库?2、基于CSV文件表格字段创建表3、使用load data方法导入CSV文件...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大文件存入数据库_如何通过Python将CSV文件导入MySQL数据库?
2020-11-30 02:27:53CSV文件导入数据库一般有两种方法:1、...样本CSV文件如下: 总体工作分为3步:1、用python连接mysql数据库,可参考如何使用python连接数据库?2、基于CSV文件表格字段创建表3、使用load data方法导入CSV文件内容l...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创建一个文本文件_如何在python中创建文本文件csv.writer?
2020-12-13 06:15:44“a,b,c”我用过csv.writer要创建csv文件,请更改扩展名。另一个程序不会使用/处理数据。我试过“wb”,“w”F = open(Fn, 'w')w = csv.writer(F)w.writerow(sym)F.close()用记事本打开---这些是完整的文件。他们...我需要一个逗号分隔的txt文件与txt扩展名。
“a,b,c”
我用过csv.writer要创建csv文件,请更改扩展名。另一个程序不会使用/处理数据。我试过“wb”,“w”F = open(Fn, 'w')
w = csv.writer(F)
w.writerow(sym)
F.close()
用记事本打开---这些是完整的文件。
他们的文件:使用他们的gui创建的文件使用了三个符号
^{pr2}$
我的文件:使用python创建
^{pr2}$
测试:打开这个文件-有效,打开我的文件-失败。
简单的打开和关闭保存在记事本。打开我的文件--工作了Works= 'PDCO,ICUI,DVA'
Fails= 'PDCO,ICUI,DVA\r\r\n'
编辑:不使用Cvs writer写入txt文件。。。。。在sym = ['MHS','MRK','AIG']
with open(r'C:\filename.txt', 'w') as F: # also try 'w'
for s in sym[:-1]: # separate all but the last
F.write(s + ',') # symbols with commas
F.write(sym[-1]) # end with the last symbol
-
python处理二维数据中的CSV文件——用python生成CSV文件并且在Python中打印输出
2020-12-18 15:40:30python处理二维数据中的CSV文件——用python生成CSV文件并且在Python中打印输出前言1.什么是CSV文件格式(针对不了解CSV文件的人,如果只是程序部分的问题可以直接跳过第一部分):2.如何使用python创建一个CSV文件...python处理二维数据中的CSV文件——用python生成CSV文件并且在Python中打印输出
前言
我们在学习到python中对文件的处理时学习了如何使用python创建读取和修改文件,特别的,对于CSV这种对文件内容有着特殊要求的文件格式我们该如何从python中去输出才是正确的呢?以下是我在遇到这个问题时所想到的,供大家借鉴,附源码。
1.什么是CSV文件格式(针对不了解CSV文件的人,如果只是程序部分的问题可以直接跳过第一部分):
作为一种文件格式,我们知道它是用来储存我们的用户数据的,像.txt是用来储存文本文件的,我们的CSV格式就是用来储存某些类似Excel表格的列表数据,但是它能在各个程序之间通用:
CSV文件的具体格式:1.每条记录占一行 以逗号为分隔符这里的逗号为英文的逗号
2.逗号前后的空格会被忽略
3.字段中包含有逗号,该字段必须用双引号括起来
4.字段中包含有换行符,该字段必须用双引号括起来
5.字段前后包含有空格,该字段必须用双引号括起来
6.字段中的双引号用两个双引号表示
7.字段中如果有双引号,该字段必须用双引号括起来
8.第一条记录,可以是字段名
#以上是在文本文件模式下创建CSV文件时的文件格式,CSV文件我们能用到的两种创建模式我下面会写到。
CSV文件创建和修改的方法:
1.我们可以在文本文档中按照上述格式创建并保存
2.修改后缀名转化文件格式为aaa.csv,修改成功后我们会看到它的图标也会随之改变:
#我们看到它的文件类型转化为了Excel文件,随后打开它的样式如下:#在之后的修改中我们也可以用文本文件的方式打开并修改,或者直接打开用Excel修改。
#以上这种方法只是为了展示CSV文件和单纯的文本文件和表格文件的不同之处,在平时我们用到最多的还是直接创建一个后缀名为.csv的文件,然后打开并在Excel中修改2.如何使用python创建一个CSV文件并在Python中打印输出:
我们都知道在Python中生成文件的方法,即file_name=open(“文件地址与名称”‘w’’),w打开模式为覆盖写即文件不存在时创建文件,那么该如何在Python中将一串数据添加到CSV文件中并符合它的文件格式呢
有如下代码// A code block var foo = 'bar';
// An highlighted block f=open("wei.csv",'w') #创建一个CSV文件 a1=["姓名,语文,数学,英语\n","小明,80 ,90 ,96 \n","小萌,85 , ,82 ,\n","小辉, ,82 ,90 "] #生成一个表格,表格的每个元素代表CSV文件中的每一行,我们知道CSV文件中每一行中不止一个数据,每个数据之间用==英文的逗号隔开,则CSV文件会默认把逗号前后当成两个数据,对应Excel中的两个单元格== #在每个元素后面加换行符是因为我们将文本写入为文件时并不会自动换行,就需要我们在要写入文件的每一行数据后面加一个换行符 f.writelines(a1)#用writelines方法将列表中的每一个属性为字符串的元素写入文件,因为我们在每个元素后面加了换行符,所以它会自动换行,从而达到CSV文件规定的格式 f.close();
运行完上面的代码打开我们的程序文件所在的目录,就能看到一个名为wei.csv的CSV文件:
##接下来我们要做的就是读取并在python中打印这个文件:
大致的思路就是将每行内容读取并添加到一个空列表中,并在此过程中将多余的逗号删除,注意还要删除文件中存在的换行符,因为在下面的程序中我们看到我们是将文件中的每行字符作为列表的一个元素for循环遍历,每次循环输出一行,而Python的print自带换行,文件里每行中的换行符就是多余的,我们就可以用replace方法将换行符去掉代码奉上
// A code block var foo = 'bar';
f=open("wei.csv",'r') ls=[]#创建一个空列表 for line in f: #for line in 文件变量是将文件中的每行作为遍历结构循环,即每次循环line等于文件中的每一行 ls.append(line.replace('\n',"")) #将文件每一行的换行符用空字符串替换并将每一行作为一个元素添加到空列表中 else: f.close() for i in ls: #for循环遍历这个列表,每次循环i等于列表中的一个元素即原来文件中的每一行 print('\t'.join(i.split(","))) #1.字符串.split(",")是将逗号作为分隔符,分割字符串,即每两个逗号之间的作为分割的一部分,将分割后的每一部分作为一个新列表的元素;2.'\t'.join(列表)用制表符将列表中的每一个元素连接起来形成一个字符串最后打印出来
split方法:
有一个字符串为i=“a,b,c,d“,则i.splti(",")的返回值为[“a”,“b”,“c”,“d”]这样一个列表
“字符”.join(列表元素)方法:
假如有一个列表a=[1,2,3,4],则“¥“.join(a)的返回值为字符串”1¥2¥3¥4”#以上都是我自己在做这个简单的程序的过程中了解到的一点知识,很多专业性名词可能不准确,仅供大家参考交流
-
csv数据去重 python_如何通过Python将CSV文件导入MySQL数据库?
2020-12-28 19:49:50CSV文件导入数据库一般有两种方法:1、通过SQL...样本CSV文件如下:总体工作分为3步:1、用python连接mysql数据库,可参考如何使用python连接数据库?2、基于CSV文件表格字段创建表3、使用load data方法导入CSV文件... -
怎样用python将csv数据量化_如何在Python中将CSV数据定义为变量?
2021-01-14 04:42:19我试图导入一个CSV文件数据,并将每行的第一个值定义为类对象或dict的变量。我设法从导入的数据创建字典,但可以单独访问它们。有什么启示吗?谢谢您。在CSV类型:姓名、性别、年龄、国家、地点约翰,M,53岁,巴西... -
python csv文件创建时间_更高效的Python CSV文件导出
2020-12-04 18:27:14并且最后我们用一个例子简单讲解了如何使用Python模块CSV进行导出后缀为.csv的文本文件。其实例子用于异步导出数据文件是够了,但工作中我们可能还需要结合我们Web框架进行更复杂的CSV导出。所以今天我们的目的就是... -
python创建图片对应的csv格式_Python:如何从csv文件创建图形节点和边?
2021-01-29 12:41:41你可以用另一个COLATIC和COLATIC来建立一个COLATIC/COLATIC。然后将图“投影”到datetime节点上—如果两个datetime都链接到ColA/ColC节点,则在它们之间创建一个链接。在下面的代码展示了一种创建无向图的方法。我不... -
Python如何读写CSV文件
2020-12-17 03:05:33CSV文件是一种纯文本文件,它使用特定的结构来排列表格数据。 CSV文件内容看起来应该是下面这样的: column 1 name,column 2 name, column 3 name...CSV文件通常由处理大量数据的程序创建。它们是一种从电子表格和数据 -
python读取csv文件_Python入门5:文件数据读取
2020-10-22 19:10:08文本文件可存储的数据量多得难以置信,没有错这里说的文本文件就是txt类型文件就是那种用笔记本创建的文件类型,虽然很low但是这是我们使用 Python 读写乃至控制文件的第一步。文本文件也就是txt类型文件是一个非常... -
Python中如何读取CSV文件
2017-11-05 11:05:08Python中如何读取CSV文件 前期工作:把CSV文件存放到.py文件结尾的路径里,即你创建的PycharmProjects文件路径里 如图分别是CSV数据以及存放位置截图 首先在pycharm解释器里导入CSV模块。在用python... -
python处理csv文件里的空值_如何处理csv中的空值
2020-11-30 10:37:51两种存储方式在4102数据库中1653都很常见,实际中根据业务或者个人习惯可以用这两种方式来存储“空值”。那这两种到底有什么区别,下面通过例子直接来展示:-- 创建表testcreate table `test` (`id` int not null ,... -
python将列表添加到csv文件_如何将新列表附加到现有的CSV文件中?
2021-02-10 09:42:49我已经用CSV writer从列表中创建了一...在创建CSV文件的第一个代码如下:with open("output.csv", "wb") as f:writer = csv.writer(f)for row in zip(master_lst):writer.writerow(row)我使用列表master_lst创建了CS... -
【python】:如何读取项目下的csv文件?
2019-07-02 16:11:30同一个项目下创建一个data文件夹,放csv文件;另一个文件夹py_file放.py文件。 读取csv文件: 1、导入os模块,os.path库是os的子库,该模块定义了有关路径名的常用函数。 2、导入csv代码库 3、用os.path.dirname()... -
用Python一键批量将任意结构的CSV文件导入 SQLite_用 Python 使用 Google Colab?岂止是炫酷...
2020-11-19 23:42:31选自Medium作者:...Google Colab 是一个免费的 Jupyter 环境,用户可以用它创建 Jupyter notebook,在浏览器中编写和执行 Python 代码,以及其他基于 Python 的第三方工具和机器学习框架,如 Pandas、PyTorch... -
从零开始学Python(3) -----用Jupyter可视化显示CSV文件内容
2019-10-29 16:53:53今天,就让我们来挑战一下用Jupyter笔记本来读取CSV文件,并且可视化展示其内容的方法吧! 关于CSV文件 在日常工作中使用的许多数据,大部分是通过电子表格软件创建的。比如,我们通常会用Excel来管理销售数据,... -
Python小白之创建json文件
2019-05-16 16:04:37做数据处理的时候需要用Python生成轨迹点的json文件,在百度上搜了一下Python如何创建json文件,第一页竟然都没有我想要的内容,大家都乱起标题么。。。真的对小白不友好,这里记录一下自己用的方法。我是从csv里面... -
python提取选中文件的文件名_如何从python文件路径中提取文件名?
2021-02-04 02:44:39然后,我将新解包的数据保存为.csv文件,以便以后在excel中查看数据。用户当前通过键入新文件名来创建文件名。然后我继续用matplotlib库绘制所有数据。在整个代码:#import Gnuplotimport struct#import binascii... -
python结构体数组生成csv_如何将NUMPY数组导出到CSV或EXCEL fi
2020-12-15 23:12:07这是我第一次尝试用Python编写代码,所以我学会了如何创建numpy数组,以及如何使用np.savetxt将其导出为CSV文件。但是,当我在excel中打开CSV文件时,矩阵中的列似乎合并为一列,因此无法对其进行分析。我想知道怎样... -
如何用python随时间新建文件夹并将此次运行结果产生的文件放入其中。
2019-05-13 22:16:48并且通过pd.DataFrame新建数据并储存为csv,但是如何将产生的csv放入刚刚生成的文件夹中呢? ``` import pandas as pd dataframe = pd.DataFrame([[1,2,3,4],[2,3,4,5], [3,4,5,6],[4,5,6,7]],) dataframe.... -
python中,如何把numpy类型(np.dnarray)转换为列表(list),及其在存储csv文件及数字图片识别中的应用
2020-07-12 13:44:19把np.ndarray转换为list,很...在用神经网络进行数字识别时,需要对神经网络进行训练,有时需要我们自己创建训练图片,存储图片的方法有很多,把他以标签和像素的形式存储在csv文件中不失为一个好的方法。这样可以对 -
Pyhon 3简易教程之CSV文件解析
2018-12-31 07:18:00后来无意中发现Python还内置了csv文件处理模块,从编写难度上来讲,当然是csv文件更容易获得。那索性以后就全部用csv来处理数据吧! 这里我们先使用csv模块创建一个文件,然后再去打开它。 写入文件 下面来演示如何... -
如何基于python实现年会抽奖工具
2021-01-19 23:40:15用python来实现一个抽奖程序,供大家参考,具体内容如下 主要功能有 1.从一个csv文件中读入所有员工工号 2.将这些工号初始到一个列表中 3.用random模块下的choice函数来随机选择列表中的一个工号 4.抽到的奖项的... -
python 抽奖器_如何基于python实现年会抽奖工具
2020-12-15 13:19:55用python来实现一个抽奖程序,供大家参考,具体内容如下主要功能有1.从一个csv文件中读入所有员工工号2.将这些工号初始到一个列表中3.用random模块下的choice函数来随机选择列表中的一个工号4.抽到的奖项的工号要从... -
如何用sklearn创建机器学习分类器?这里有一份上手指南
2018-01-17 00:00:00原作:Kasper Fredenslund林鳞 编译自 Data ...这篇文章中,作者简要介绍了用Python中的机器学习工具scikit-learn(sklearn)创建机器学习分类器的步骤与注意事项。读完这篇文章,你将学到:导入和转换.csv文件,开启s -
【20190519更新】【新手向】用python绘制实验数据的图线
2019-04-05 10:24:16用python绘制实验数据的图线从不同类型的文件中导入数据从EXCEL表格中导入数据从CSV文件中导入数据功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个... -
Python 数据分析基础
2018-09-18 09:30:06没有编程经验的非程序员们如何能在最短的时间内学会用当今炙手可热的Python语言进行数据分析? 来自Facebook的数据专家Clinton Brownley可以帮您解决上述问题。在他的这本书里,读者将能掌握基本Python编程方法,... -
【Python+Faker】如何使用Faker库,批量生成可使用的测试数据
2020-11-24 16:40:02此时我们应该使用Faker这个Python库,用它来生成各种各样的真数据。 # -*- coding: utf-8 -*- import csv from faker import Faker import datetime file = open("test_data.csv","w",newline="") # 创建文件,...
-
4751计算机网络安全 第七章.docx
-
游戏防封必须了解的6大知识点
-
U盘镜像包解决 X230笔记本(此系统不支持所安装的电池 不能充电的问题)
-
r7 5800h和i7 1165g7参数对比差距大不大
-
testing-graphql-prisma:只是搞混graphql和prisma-源码
-
1073 多选题常见计分法 (20 分)
-
2021-03-04
-
library-源码
-
云服务器ssh登录老是自动断开链接的解决办法
-
####好好好####详解深度学习中的 Normalization,不只是 BN
-
2021-03-04
-
投标方法论
-
mac技巧:出现“您的系统已耗尽应用程序内存”怎么办?
-
基于电商业务的全链路数据中台落地方案(全渠道、全环节、全流程)
-
IDC报告出炉,ZDNS连续五年DDI领域市场占有率第一
-
一个接口有多个实现类
-
【爱码农】C#制作MDI文本编辑器
-
python-crash-couse-try-yourself-solution:eric maathes -python速成课程问题解决方案-源码
-
零基础一小时极简以太坊智能合约开发环境搭建并开发部署
-
完整框架厦门大学论文答辩通用ppt模板.pptx