使用python的pandas库读取csv文件保存至mysql数据库


Posted in Python onAugust 20, 2018

第一:pandas.read_csv读取本地csv文件为数据框形式

data=pd.read_csv('G:\data_operation\python_book\chapter5\\sales.csv')

第二:如果存在日期格式数据,利用pandas.to_datatime()改变类型

data.iloc[:,1]=pd.to_datetime(data.iloc[:,1])

注意:=号,这样在原始的数据框中,改变了列的类型

第三:查看列类型

print(data.dtypes)

第四:方法一:保存至MYSQL【缺点耗时长】

利用MYSQLdb库,封装成一个类,实现创建表,添加数据的操作,缺点耗时长

class Jess_mysql():
 """
 设置mysql类,实现创建数据框,表,及添加数据
 """
 def __init__(self):
  self.mysql=MySQLdb.connect(user=mysql_name,host=mysql_host,password=mysql_password,database=mysql_database)
  self.conn=self.mysql.cursor()
 def create_table(self,table_names,col_names):
  """
  创建表
  :param table_names: 表名
  :param col_names: 列名,列表格式
  :return:
  """
  tables=' varchar(20),'.join(['%s'] *len(col_names))
  sql_yuju='create table if not exists `{t}` ({v} varchar(20))'.format(t=table_names,v=tables)#字段需要标注格式
  ss=sql_yuju %(tuple(col_names))
  print(ss)
  self.conn.execute(ss)
  self.mysql.commit()
 def add_data(self,table_name,col_names,col_data):
  """
  :param table_name: 表名
  :param col_names: 列名,字段名
  :param col_data: 字段值
  :return:
  """
  colname=','.join(['%s']*len(col_names))
  data=','.join(['%s']*len(col_data))
  sql_yuju='INSERT INTO `{t}` ({name}) VALUES ({data});'.format(t=table_name,name=colname,data=data)
  ss=sql_yuju%(*col_names,*col_data)
  #print(ss)
  self.conn.execute(ss)
  self.mysql.commit()

第五:利用sqlalchemy的create_engine()方法

1、创建连接

import sqlalchemy
#engine=sqlalchemy.create_engine('mysql + mysqldb://root:123456@118.24.26.227:3306/python_yuny')
engine=sqlalchemy.create_engine('mysql+mysqldb://{user}:{password}@{host}:3306/{database}'.format
        (user=mysql_name,password=mysql_password,host=mysql_host,database=mysql_database))

2、利用pd.io.sql.to_sql()

pd.io.sql.to_sql(frame=data,name='yunying',con=engine,index=False,if_exists='append')

注意相关参数的设置。

此外,保存到mysql中,需要注意日期格式的列,因为在mysql对应的field设置格式为varchar(20)后,原始的日期2015-8-9,写入数据库,只有2015,这需要两步操作。

a、上面第二目录的,利用pandas.to_datetime(,format='%Y-%m-%d')       #format的格式要和原始字符2016-8-9格式一样

b、利用datetime库,实现format='%Y%m%d'

x=data.shape[0]
for i in range(x):
 col_data=list(df.iloc[i,:])
 col_data[1]=datetime.date.strftime(col_data[1],'%Y%d%m')

•这一步后,日期格式由原始的2016-6-2,转为20160606,就可以以写入数据库对应的字段【其字段类型varchar(20)】

第六:读取mysql的数据

df=pd.read_sql('select * from %s'%table_name,con=engine,index_col=None)

默认不设置索引列,可以自行指定索引列名。

总结

以上所述是小编给大家介绍的使用python的pandas库读取csv文件保存至mysql数据库,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python压缩解压缩zip文件及破解zip文件密码的方法
Nov 04 Python
python轻松查到删除自己的微信好友
Jan 10 Python
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
Nov 19 Python
Tensorflow之Saver的用法详解
Apr 23 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
May 07 Python
Flask框架响应、调度方法和蓝图操作实例分析
Jul 24 Python
python 随机打乱 图片和对应的标签方法
Dec 14 Python
Python判断是否json是否包含一个key的方法
Dec 31 Python
为什么从Python 3.6开始字典有序并效率更高
Jul 15 Python
python3安装crypto出错及解决方法
Jul 30 Python
Python常用模块logging——日志输出功能(示例代码)
Nov 20 Python
如何使用repr调试python程序
Feb 28 Python
Python多线程原理与用法详解
Aug 20 #Python
Python模拟简单电梯调度算法示例
Aug 20 #Python
django_orm查询性能优化方法
Aug 20 #Python
Python Requests库基本用法示例
Aug 20 #Python
Django中使用第三方登录的示例代码
Aug 20 #Python
基于Django框架利用Ajax实现点赞功能实例代码
Aug 19 #Python
分析python请求数据
Aug 19 #Python
You might like
php unset全局变量运用问题的深入解析
2013/06/17 PHP
phpmailer在服务器上不能正常发送邮件的解决办法
2014/07/08 PHP
一波PHP中cURL库的常见用法代码示例
2016/05/06 PHP
PHP编程实现csv文件导入mysql数据库的方法
2017/04/29 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
2017/05/02 PHP
php5.5使用PHPMailer-5.2发送邮件的完整步骤
2018/10/14 PHP
JScript 脚本实现文件下载 一般用于下载木马
2009/10/29 Javascript
用jquery和json从后台获得数据集的代码
2011/11/07 Javascript
JS继承--原型链继承和类式继承
2013/04/08 Javascript
node.js中的fs.fchmodSync方法使用说明
2014/12/16 Javascript
JavaScript实现基于十进制的四舍五入实例
2015/07/17 Javascript
ECMAScript6轮播图实践知识总结
2016/08/17 Javascript
js基础之DOM中document对象的常用属性方法详解
2016/10/28 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
2017/04/05 Javascript
vue父组件点击触发子组件事件的实例讲解
2018/02/08 Javascript
React中使用UEditor百度富文本的方法
2018/08/22 Javascript
Vue CLI3搭建的项目中路径相关问题的解决
2018/09/17 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
2020/03/17 Javascript
JS前后端实现身份证号验证代码解析
2020/07/23 Javascript
python sys模块sys.path使用方法示例
2013/12/04 Python
Python 时间操作例子和时间格式化参数小结
2014/04/24 Python
python读取word文档的方法
2015/05/09 Python
python统计文本文件内单词数量的方法
2015/05/30 Python
Python模拟三级菜单效果
2017/09/11 Python
使用pycharm生成代码模板的实例
2018/05/23 Python
Python编程在flask中模拟进行Restful的CRUD操作
2018/12/28 Python
python三大神器之fabric使用教程
2019/06/10 Python
Pycharm保存不能自动同步到远程服务器的解决方法
2019/06/27 Python
python爬虫 2019中国好声音评论爬取过程解析
2019/08/26 Python
大学毕业生自荐书怎么写?
2014/01/06 职场文书
学习全国两会精神心得体会范文
2014/03/17 职场文书
解除劳动合同协议书范本2014
2014/09/25 职场文书
关于拾金不昧的感谢信
2015/01/21 职场文书
2015年毕业生实习评语
2015/03/25 职场文书
导游词之海南-南湾猴岛
2019/10/12 职场文书
导游词之阳朔遇龙河
2019/12/16 职场文书