小编给大家分享一下如何使用python的熊猫库读取csv文件保存至mysql数据库,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!
python主要应用领域有哪些
1,云计算,典型应用OpenStack.2,网前端开发,众多大型网站均为python开发。3。人工智能应用,基于大数据分析和深度学习而发展出来的人工智能本质上已经无法离开python.4,系统运维工程项目,自动化运维的标配就是python + Django/flask.5,金融理财分析,量化交易,金融分析。6,大数据分析。
<强>第一:熊猫。read_csv读取本地csv文件为数据框形式强>
data=https://www.yisu.com/zixun/pd.read_csv (“G:/data_operation/python_book/chapter5//sales.csv’)
<强>第二:如果存在日期格式数据,利用pandas.to_datatime()改变类型强>
data.iloc (: 1)=pd.to_datetime (data.iloc [:, 1])
注意:=号,这样在原始的数据框中,改变了列的类型
<强>第三:查看列类型强>
<代码>打印(data.dtypes) 代码>
<强>第四:方法一:保存至MYSQL【缺点耗时长】强>
利用MYSQLdb库,封装成一个类,实现创建表,添加数据的操作,缺点耗时长
class Jess_mysql (): ,“““ ,设置mysql类,实现创建数据框,表,及添加数据 ,“““ 自我,def __init__ (): self.mysql才能=MySQLdb.connect(用户=mysql_name主机=mysql_host密码=mysql_password数据库=mysql_database) self.conn才能=self.mysql.cursor () ,def create_table(自我、table_name col_names): “才能”;“ 创才能建表 :才能param table_name:,表名 :才能param col_names:,列名,列表格式 ,,:返回: “才能”;“=& # 39;表才能,varchar (20), & # 39; . join ((& # 39; % & # 39;], * len (col_names)) sql_yuju才能=& # 39;create table if not exists “{t}”, ({v}, varchar (20)) & # 39; .format (t=table_name, v=表)#字段需要标注格式 学生才能=sql_yuju %(元组(col_names)) 打印(ss)才能 self.conn.execute才能(ss) self.mysql.commit才能() ,def add_data(自我、table_name col_names col_data): “才能”;“ :才能param table_name:,表名 :才能param col_names:,列名,字段名 :才能param col_data:,字段值 ,,:返回: “才能”;“ ,,colname=& # 39; & # 39; . join ((& # 39; % & # 39;] * len (col_names)) data=https://www.yisu.com/zixun/才能',' . join ([' % s '] * len (col_data)) sql_yuju=迦搿瘂t} ' ({name})值({数据});“.format (t=table_name name=colname, data=数据) 党卫军=sql_yuju % (* col_names, * col_data) #打印(ss) self.conn.execute (ss) self.mysql.commit ()
<强>第五:利用sqlalchemy的create_engine()方法强>
1,创建连接
import sqlalchemy #引擎=sqlalchemy.create_engine (& # 39; mysql +, mysqldb://根:123456 @118.24.26.227:3306/python_yuny& # 39;) 引擎=sqlalchemy.create_engine (& # 39; mysql + mysqldb://{user}:{密码}@{主机}:3306/{数据库}& # 39;.format ,,,,,,,(用户=mysql_name密码=mysql_password主机=mysql_host数据库=mysql_database))
2,利用pd.io.sql.to_sql ()
pd.io.sql.to_sql(=数据帧,name=& # 39; yunying& # 39;,反对=引擎,指数=False, if_exists=& # 39;添加# 39;)
注意相关参数的设置。
此外,保存到mysql中,需要注意日期格式的列,因为在mysql对应的字段设置格式为varchar(20)后,原始的日期2015-8-9,写入数据库,只有2015年,这需要两步操作。
,上面第二目录的,利用pandas.to_datetime(格式=& # 39;Y - % - % d % # 39;),,,,,,#格式的格式要和原始字符2016-8-9格式一样
b,利用datetime库,实现格式=& # 39;Y % m % d % # 39;
x=data.shape [0] for 小姐:拷贝范围(x): ,col_data=https://www.yisu.com/zixun/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 (& # 39; select *,得到% & # 39;% table_name,反对=引擎,index_col=None)
默认不设置索引列,可以自行指定索引列名。
看完了这篇文章,相信你对“如何使用python的熊猫库读取csv文件保存至mysql数据库”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!