1 import pandas as pd
2 import psycopg2
3 from io import StringIO
4 import pymysql
5 conf={"mysql_form":{
6 'host' : 'localhost',
7 'port' : 3306,
8 'db' : 'pricefluctuation',
9 'user' : 'root',
10 'passwd' : 'huzu_mysql_QazWsx12#',
11 'charset':'utf8',
12 },
13 "mysql_test":{
14 'host' : '192.168.2.251',
15 'port' : 3306,
16 'db' : 'pricefluctuation',
17 'user' : 'hewen',
18 'passwd' : 'meiyoumima',
19 'charset':'utf8',
20 },
21 "postgres":{
22 'host' : "120.79.135.9",
23 'port' : "5432",
24 'user' : "postgres",
25 'password' : '33068080',
26
27 },
28 }
29 def sql_to_df():
30 con=pymysql.connect(**conf["mysql_form"])
31 sql="select category_id,name,gameid,img_url from category where category_id in (11665,9653,6504) "
32 try:
33 with con.cursor() as cur:
34 cur.execute(sql)
35 datas=cur.fetchall()
36 finally:
37 con.close()
38 df=pd.DataFrame(list(datas))
39 return df
40
41 def df_to_pg(df=None,db="spider",table='price_730'):
42 #这里生成的StringIO类似于file文件,可read,可write,不同的是file是在硬盘上的文件,而StringIO是在内存中的文件
43 output=StringIO()
44 #也可以直接将字符串转换成内存文件 ,
45 #将数据保存到‘文件’
46 if not df :
47 df=sql_to_df()
48 df.to_csv(output,sep='\t',index=False,header=False)
49 #使文件定位到第一个字符
50 output.seek(0)
51 try:
52 conn=psycopg2.connect(database=db,**conf["postgres"])
53 cur=conn.cursor()
54 cur.copy_from(output,table,null='')
55 conn.commit()
56 result=cur.rowcount
57 finally:
58 cur.close()
59 conn.close()
60 return result
61
62 if __name__=='__main__':
63 # df=pd.read_csv('e:/730_price.csv')
64 print(df_to_pg(table="category"))
65

mysql 到postgresql的更多相关文章

  1. SQLite vs MySQL vs PostgreSQL:关系型数据库比较

    自1970年埃德加·科德提出关系模型之后,关系型数据库便开始出现,经过了40多年的演化,如今的关系型数据库种类繁多,功能强大,使用广泛.面对如此之多的关系型数据库,我们应该如何权衡找出适合自己应用场景 ...

  2. 【转】 MySQL与PostgreSQL:该选择哪个开源数据库?哪一个更好?

    转载地址:http://www.infoq.com/cn/news/2013/12/mysql-vs-postgresql 如果打算为项目选择一款免费.开源的数据库,那么你可能会在MySQL与Post ...

  3. 常用SQL操作(MySQL或PostgreSQL)与相关数据库概念

    本文对常用数据库操作及相关基本概念进行总结:MySQL和PostgreSQL对SQL的支持有所不同,大部分SQL操作还是一样的. 选择要用的数据库(MySQL):use database_name; ...

  4. MySQL和PostgreSQL 导入数据对照

    在虚拟机上測评了下MySQL 和 PostgreSQL 的各种LOAD FILE方式以及时间. 由于是虚拟机上的測评,所以时间仅仅做參考,不要太较真, 看看就好了.MySQL 工具:    1. 自带 ...

  5. 关于PDF.NET开发框架对Mysql Sqlite PostgreSQL数据库分页支持的个人看法

    关于PDF.NET开发框架的名字由来  在设计www.pwmis.com站点的时候,考虑到架构的兼容性和将来升级的可能性,最重要的是没有足够的时间去为网站添加和维护很多复杂的程序,所以在借鉴前人成功经 ...

  6. 异常 SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]

    使用Spring 的JDBCtemplate 调用数据库的时候 出现了如下的问题 SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-S ...

  7. 在MySQL和PostgreSQL之外,为什么阿里要研发HybridDB数据库?

    http://www.infoq.com/cn/news/2016/12/MySQL-PostgreSQL-Greenplum 编者按 在大数据火遍IT界之前,大家对数据信息的挖掘通常聚焦在BI(Bu ...

  8. 常用Mysql或者PostGresql或者Greenplum的语句总结。

    1.使用mysql的union all可以同时查询出所有自己想要查询数据表的数据量. select 'user' as tablename, count(*) from user union all ...

  9. Mysql与Postgresql

    在经过一段时间的数据库学习之后,我接触到了Mysql与Postgresql两种数据库管理系统,由于我对这两者的理解都停留在很浅的层面,就不在此比较两者的好坏,主要在这里比较一下两者的入门指令(当然两者 ...

  10. Mybatis运行错误:信息: SQLErrorCodes loaded: [DB2, Derby, H2, HDB, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]

    Mybatis运行出现错误提示: 五月 23, 2018 12:07:22 上午 org.springframework.jdbc.support.SQLErrorCodesFactory <i ...

随机推荐

  1. HDU 3974 Assign the task(DFS序)题解

    题意:给出一棵树,改变树的一个节点的值,那么该节点及所有子节点都变为这个值.给出m个询问. 思路:DFS序,将树改为线性结构,用线段树维护.start[ ]记录每个节点的编号,End[ ]为该节点的最 ...

  2. Java8新特性:Function接口和Lambda表达式参考

    Lambda基本:https://blog.csdn.net/wargon/article/details/80656575 https://www.cnblogs.com/hyyq/p/742566 ...

  3. Specify Computed Columns in a Table

    https://docs.microsoft.com/en-us/sql/relational-databases/tables/specify-computed-columns-in-a-table ...

  4. Winform中使用折叠窗口

    使用此处的控件 http://www.codeproject.com/Articles/18401/XPanderControls 注意事项 使用之前需要先添加winform自带的toolStripC ...

  5. 51NOD 1057 N的阶乘

    1057 N的阶乘 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题   输入N求N的阶乘的准确值.   Input 输入N(1 <= N <= 10000) ...

  6. java自学入门心得体会 从环境配置开始

    java —— 一种可以撰写跨平台应用软件的面向对象的程序设计语言. 很多教程里都要概述java语言的诞生发明.其实像图灵的”图灵机“和”图灵测试“一样,当初的java并不是这样. 是用来操控一些电冰 ...

  7. yarn虚拟cpu和虚拟内存

    虚拟cpu 虚拟的cpu代码并发数,如果一个container拥有2个vcpu,那么该container就可以真正的在同一时间运行两个线程,而不是靠切时间片而达到的逻辑并发.所以一般虚拟的cpu需要和 ...

  8. 05_Flume_timestamp interceptor实践

    1.目标场景 2.Flume Agent配置 # specify agent,source,sink,channel a1.sources = r1 a1.sinks = k1 a1.channels ...

  9. UVa 12563 劲歌金曲(0-1背包)

    https://vjudge.net/problem/UVA-12563 题意: 在一定的时间内连续唱歌,最后一首唱11分钟18秒的劲歌金曲,问最多能长多长时间. 思路: 0-1背包问题,背包容量为t ...

  10. selenium-webdriver 简单教程

    ruby环境下selenium/webdriver可以通过selenium-webdriver.gem包进行安装 gem install selenium-webdriver   支持语言及版本有ru ...