在目前大数据和人工智能的大趋势下,越来越多的人开始学习python作为自己入手数据和AI的第一门语言,笔者也是如此。很多人在接触python的第一步都是学习pandas,主要是这个框架是最接近于R和Matlab学习起来轻松易懂。但是在pandas的使用中,有很多问题和很多人因为对编程和计算机概念不理解,导致很多很多的坑,笔者在此开一个系列博文,不定期更新中会将自己遇到的坑介绍给大家。
pandas坑之to_sql
pandas是将格式化数据直接编程python可读的DataFrame格式(其实本质上就是字典,并且自动设置了index和colunms),pandas本身的操作给了用户很好的体验和数据分析过程,但是pandas从数据库读取再转录入数据库是不少新人一直头疼的问题,笔者也为此最初头疼不已。根据《利用python进行数据分析》的书中,有大致介绍一个函数——to_sql,相信很多人都是对此了解的。
但是,使用to_sql这个函数有一个问题,虽然to_sql函数可以直接将字典数据直接存入数据库,但是,to_sql限制是非常之大的(毕竟别人写的类)
我们先看一个操作
import pandas as pd
import pymysql
conn=pymysql.connect(host,port,user,password,charset,db)
df1=pd.DataFrame(list)
df.to_sql(tablename,conn)
相信很多人都是按照以上进行的傻瓜操作,但是笔者在这里只能告诉你们,这是大错特错的。
要学习python最快的方法,并不是上什么培训班,看视频,最快的方法,就是去阅读python的库文档,python手册。毕竟python虽然在使用上非常难,但是在学习上并不是特别难(相对于java和C++)。
根据库的文档,我们看到to_sql函数支持两类mysql引擎一个是

在Python数据分析中,pandas的to_sql函数常用于数据存储,但使用不当容易造成困扰。本文揭示了使用to_sql时的两个常见误区:一是连接数据库时不应直接使用pymysql,而应采用sqlalchemy;二是理解if_exists参数的含义,'replace'会导致原有数据被删除,'fail'则不会执行,'append'则会追加数据。

5576

被折叠的 条评论
为什么被折叠?



