pandas实现to_sql将DataFrame保存到数据库中
2019-07-03 09:17
831 查看
目的
在数据分析时,我们有中间结果,或者最终的结果,需要保存到数据库中;或者我们有一个中间的结果,如果放到数据库中通过sql操作会更加的直观,处理后再将结果读取到DataFrame中。这两个场景,就需要用到DataFrame的to_sql操作。
具体的操作
连接数据库代码
import pandas as pd from sqlalchemy import create_engine # default engine = create_engine('mysql+pymysql://ledao:ledao123@localhost/pandas_learn') original_data = pd.read_sql_table('cellfee', engine) original_data
结果如下所示。
对数据进行汇总,每个小区的电费进行求和放到Series中,然后将所有小区的总电费放到DataFrame中,最后将DataFrame保存到数据库中,代码如下所示。
all_cells = [] for k, v in original_data.groupby(by=['cityid', 'cellid']): onecell = pd.Series(data=[k[0], k[1], v['fee'].sum()], index=['cityid', 'cellid', 'fee_sum']) all_cells.append(onecell) all_cells = pd.DataFrame(all_cells) all_cells.to_sql(name='cells_fee', con=engine, chunksize=1000, if_exists='replace', index=None)
对于DataFrame的to_sql函数,需要注意的参数在代码中已经写出来,其中比较重要的是chunksize、if_exists和index。
chunksize可以设置一次入库的大小;if_exists设置如果数据库中存在同名表怎么办,‘replace'表示将表原来数据删除放入当前数据;‘append'表示追加;‘fail'则表示将抛出异常,结束操作,默认是‘fail';index=接受boolean值,表示是否将DataFrame的index也作为表的列存储。
最终存表的结果如下图所示。
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- python远程连接mysql以及pandas.DataFrame.to_sql写入数据库
- python pandas dataframe to_sql方法error及其解决
- python连接数据库,tushare,Dataframe to sql
- 将HTML5 Canvas的内容保存为图片借助toDataURL实现
- Linq To Sql数据库操作基类实现不同条件的增删改查
- python实现在pandas.DataFrame添加一行
- 将HTML5 Canvas的内容保存为图片借助toDataURL实现
- 【跟着stackoverflow学Pandas】 - Adding new column to existing DataFrame in Python pandas - Pandas 添加列
- python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
- Python 数据处理扩展包: pandas 模块的DataFrame介绍(读写数据库的操作)
- 使用pandas的dataFrame实现的决策树算法
- 以二进制形式将图片保存到数据库,用存诸过程实现(完整代码+sql语句)
- pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换
- Pandas使用一(DataFrame创建,csv、exl、sql读取写入)
- Python pandas DataFrame操作的实现代码
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- Silverlight + WCF使用Linq to SQL以及ADO.NET Entity Data Model更新数据库子表方法
- SqlDataAdapter配合DataGridView实现与数据库交付
- 如何应对SparkSQL DataFrame保存到hdfs时出现的过多小文件问题
- pandas.DataFrame.to_csv