python连接greenplum的时候,需要使用psycopg2这个包,这个包在连接数据库大批量写入文件的时候有几个小坑需要留意。

1、表不存在

错误err:

psycopg2.errors.UndefinedTable: relation“表名“ does not exist

这个是你使用copy_from方法大批量导入数据经常报的错误,这个错误是版本问题,把你当前的版本退回到psycopg2==2.8.4即可

2、数据对不上

错误err:

psycopg2.DataError: extra data after last expected column

value too long for type character varying

这个是你使用copy_from   方法的时候有个sep选项一定要改好,可以把sep="&",避免出现文件中多处一致的符号,从而导致数据表头列数和值的列数对不上,示例如下。

    def insert_copy_df(self, tablename, df: pd.DataFrame()):fp = StringIO()df.to_csv(fp, sep='&', index=False, header=False)value = fp.getvalue()conn = self.gp_connect()cur = conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor)cur.copy_from(StringIO(value), tablename, sep="&",columns=['col1', 'col2', 'col3', 'col4'])conn.commit()cur.close()conn.close()

psycopg2几个小坑相关推荐

  1. net core mysql 连接池_EF Core 小坑:DbContextPool 会引起数据库连接池连接耗尽

    EF Core 小坑:DbContextPool 会引起数据库连接池连接耗尽 发布时间:2019-02-18 22:05, 浏览次数:1152 , 标签: EF Core DbContextPool ...

  2. mciSendString 的两个小坑

    刚刚修正了自己用的小闹钟的代码. 坑1:REPEAT 选项的作用范围 原来用得好好的,之后选择 .wav 文件,居然不出声音了-- 诶,MCI 肯定支持 .wav 的啊-- 仔细想想,我以前都是选 . ...

  3. 小坑记录:get_cmap参数区分大小写

    小坑记录: plt.cm.get_cmap('spectral', 10) File "C:\Users\sanye\AppData\Local\Programs\Python\Python ...

  4. ThinkPHP开发中遇到的小坑

    TP不得不说是现在来说最好用的框架了,但是也不能不承认它还是有一些小坑需要填了. 1.坑爹的字段缓存机制 thinkphp为了高效的读取数据库,更快的打开网页,加入了字段缓存这个机制,其实来说是挺好的 ...

  5. java 小坑_关于Java子父类关系的小坑

    原标题:关于Java子父类关系的小坑 学过JavaSE的都知道java类在初始化的时候,如果存在直接父类,是先初始化父类,然后才初始化子类. 子类拥有父类所有的非私有化成员,非私有的成员不仅仅包括pu ...

  6. C#中的Infinity有个小坑

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 昨天家里有事,上网也不方便,就没有推送文章.今天很累,也不长篇大论了.简单介绍一下最近遇到的 ...

  7. spring + maven项目 互相依赖的小坑

    在项目的搭建的过程中,出现了某个被依赖的项目,打包都是成功的,但是依赖的它的项目在编译的时候出现了问题,综合网上的解决方案,终于找到了一个可行的方法. 摘自 https://blog.csdn.net ...

  8. EF Core 小坑:DbContextPool 会引起数据库连接池连接耗尽

    DbContextPool 是 ASP.NET Core 2.1 引入的新特性,可以节省创建 DbContext 实例的开销,但没有想到其中藏着一个小坑. 最近有一个 ASP.NET Core 项目持 ...

  9. c++ tinyxml2 解析xml小坑

    如题,项目中遇到的解析xml小坑: xml是python在windows下生成的,虽然是utf8的,但是回车是16进制显示的0D 0A,与linux下的回车不同(0A),导致使用Parse函数时解析失 ...

最新文章

  1. 如何在Tensorflow.js中处理MNIST图像数据
  2. 西农计算机考研专业课压分,考研:西农大计算机初试第一名被淘汰,倒数第一成功逆袭...
  3. 业务总结002:秒杀活动架构设计
  4. Probe:Android线上OOM问题定位组件
  5. java 中创建数据端口_java 如何在服务器端用socket创建一个监听端口,并对接受的数据进行处理,端口号为3333,请高手指点一下...
  6. C#LeetCode刷题-栈
  7. 如何制作一个基于Tile的游戏 2 Cocos2d-x 2 0 4
  8. C使用递归实现前N个元素的和
  9. Thread中interrupt()interrupted()和isInterrupted()的区别
  10. 用python画多来a梦-python 绘制哆啦A梦
  11. Layui表单验证及提交
  12. 154. 正则表达式匹配
  13. 概率论得学习整理--番外3:二项式定理和 二项式系数
  14. svg 动画_30个很棒的SVG动画
  15. 区块链改革(链改)全国行动委员会第一次会议胜利召开
  16. OSS图片服务域名与bucket绑定域名的区别
  17. vulnhub靶场之HA: Joker
  18. windows服务器dmp文件分析,如何用WinDbg分析MEMORY.DMP文件
  19. 贪心算法之活动安排问题
  20. Rol租车网项目总结

热门文章

  1. 如何学习python?
  2. 阿里云code上传代码
  3. 2020年复旦大学计算机学院夏令营经历
  4. 文件名和文件夹的bat批量重命名替换关键字和删除关键字
  5. Tolua使用笔记一:开始使用Tolua的准备工作与lua文件读取方法
  6. 字符串中大小写转换输出
  7. HBase 2.0 API 初步窥探
  8. 如何在cad中导入谷歌地图_如何在Google地图中设置出发和到达时间
  9. 博通蓝牙linux,好消息,使用Broadcom蓝牙的有福了,新驱动,新选择,BrcmPatchRAM...
  10. 计算机网络英文简称名词解释