python连接greenplum_postgresql
1. 场景描述
使用python连接greenplum或者postgresql。
2. 解决方案
2.1 真实代码
2.1.1 调用类
import dbgp as dbgp
# 执行
def execGP(params):
sql = params.get("sql")
# 从数据库获取数据
try:
data = dbgp.queryGp(sql)
except IndexError:
return sql
except KeyError:
return sql
except ValueError:
return sql
except Exception:
return sql
if data.empty:
return "exception:无数据,请确认后重试"
if __name__ == '__main__':
paramss = dict(
sql="select COALESCE(empno,0) as empno,COALESCE(mgr,0) as mgr from test_emp")
execGP(paramss)
2.1.2 Gp数据库连接类
import psycopg2
def queryGp(sql):
## 连接到一个给定的数据库
conn = psycopg2.connect(dbname="db-laowang", user="laowang", password="laowang123",port="5432", host="10.192.168.10", client_encoding="UTF-8")
df = pd.read_sql(sql, con=conn)
## 关闭数据库连接
conn.close()
return df
2.2 代码说明
(1)调用类中异常的返回比较特殊,只指定Exception的话,其他的几种异常还捕获不到。
(2)psycopg2的安装就不再特别说明了,有网络的话可以直接在线安装,无网络的话可以参考下我的另一篇博客(python无网安装psycopg2)。
(3)数据库的连接配置适用于Greenplum和postgresql。
python连接greenplum_postgresql的更多相关文章
- 【初学python】使用python连接mysql数据查询结果并显示
因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...
- python连接mysql的驱动
对于py2.7的朋友,直接可以用MySQLdb去连接,但是MySQLdb不支持python3.x.这是需要注意的~ 那应该用什么python连接mysql的驱动呢,在stackoverflow上有人解 ...
- paip. 解决php 以及 python 连接access无效的参数量。参数不足,期待是 1”的错误
paip. 解决php 以及 python 连接access无效的参数量.参数不足,期待是 1"的错误 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源 ...
- python 连接sql server
linux 下pymssql模块的安装 所需压缩包:pymssql-2.1.0.tar.bz2freetds-patched.tar.gz 安装: tar -xvf pymssql-2.1.0.tar ...
- paip.python连接mysql最佳实践o4
paip.python连接mysql最佳实践o4 python连接mysql 还使用了不少时间...,相比php困难多了..麻烦的.. 而php,就容易的多兰.. python标准库没mysql库,只 ...
- python连接字符串的方式
发现Python连接字符串又是用的不顺手,影响速度 1.数字对字符进行拼接 s="" #定义这个字符串,方便做连接 print type(s) for i in range(10 ...
- python连接zookeeper的日志问题
用python连接zookeeper时,在终端里,一直会有zookeeper的日志冒出来,这样会很烦. -- ::,:(: Exceeded deadline by 11ms 解决方法是在连接后设置一 ...
- python 连接Mysql数据库
1.下载http://dev.mysql.com/downloads/connector/python/ 由于Python安装的是3.4,所以需要下载下面的mysql-connector-python ...
- Python连接msyql、redis学习_Day12
一.数据库 关系型数据库(RDBMS): 1.数据以表格的形式出现2.每行为各种记录名称3.每列为记录名称所对应的数据域4.许多的行和列组成一张表单5.若干的表单组成database 1.MySQL基 ...
随机推荐
- 什么是TOML?
配置文件的使用由来已久,从.ini.XML.JSON.YAML再到TOML,语言的表达能力越来越强,同时书写便捷性也在不断提升. TOML是前GitHub CEO, Tom Preston-Werne ...
- Vm安装
说明:都是默认安装,并不需要繁琐设置,所以没有文字说明
- Collection was modified; enumeration operation may not execute.的异常处理
Collection was modified; enumeration operation may not execute.的异常处理 在运行程序时遇到这样一段异常,仔细检查后发现是使用Foreac ...
- virtualbox 安装 extension pack 方法以及出现 "The installer failed with exit code 1: VBoxExtPackHelperApp.exe: error: Failed to rename the temporary directory to the final one"的解决办法
virtualbox 的版本:5.1.26 下载地址:https://www.virtualbox.org/wiki/Downloads extension pack 的版本:5.1.26 ...
- 多态与虚拟 : 物件导向的精髓 (侯捷在石器时代对OO的理解)
[自序]虑而後能得(自序)故事接触 C++ 大约是 1989 年的事.那时候的 PC 以现在的眼光看,除了「蛮荒」之外没有更合适的形容词了.横扫千军的 Windows 3.0 还没有诞生,如今以 C+ ...
- 网络文件系统nfs文件系统使用(比较全面)
一.NFS简介 1.NFS就是Network FileSystem的缩写,它的最大功能就是可以通过网络让不同的机器,不同的操作系统彼此共享文件(sharefiles)——可以通过NFS挂载远程主机的目 ...
- DirectX的替代品 SDL 简介
DirectX的替代品 SDL 简介 什么是SDL? 即 Simple DirectMedia Layer,使用 LGPL 许可证. 免费的跨平台多媒体应用编程接口 用于游戏.游戏开发工具.模拟器.样 ...
- php和JS 判断http还是https,以及获得当前url的方法
$http_type = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HT ...
- php PAC 安装
LIUNX wget http://pecl.php.net/get/APC-3.1.8.tgz tar -zxvf APC-3.1.8.tgz cd APC-3.1.8 /usr/local/php ...
- 深入理解计算机系统 BombLab 实验报告
又快有一个月没写博客了,最近在看<深入理解计算机系统>这本书,目前看完了第三章,看完这章,对程序的机器级表示算是有了一个入门,也对 C 语言里函数栈帧有了一个初步的理解. 为了加深对书本内 ...