【问题标题】:Copying data into array without use of array_agg() in POSTGRESQL在 POSTGRESQL 中不使用 array_agg() 将数据复制到数组中
【发布时间】:2018-07-20 18:49:15
【问题描述】:

我对数据库具有只读访问权限,我想在其中聚合属于同一键的字符串文字。 Postgres 数据库不是最新的,并且不支持 array_agg(),但我需要将它们放在一个数组中以用于其他目的。我目前正在将该数据库中的数据复制到 csv 文件中,然后需要从 csv 文件复制到具有数组列类型的新数据库。

例如,我拥有的是:

author ... "BOOK1";"BOOK2";"BOOK3"

导致

ERROR:  malformed array literal: "BOOK1"
DETAIL:  Array value must start with "{" or dimension information.

当我尝试将其从 csv 复制到我的数据库时。 我怎样才能在没有 array_agg() 的情况下以数组格式获得它?

【问题讨论】:

标签: python postgresql csv flask


【解决方案1】:

你需要用{和}`https://www.postgresql.org/docs/9.1/static/arrays.html封装值

a="BOOK1,BOOK2,BOOK3"
print('{'+a+'}')

【讨论】:

  • 我是否只需要编写脚本手动将括号添加到此列?大约有 40k 行,所以我不知道效率如何
  • 我对特定数据类型没有太多经验,但文档告诉您这样做。也许使用熊猫这样做。
猜你喜欢
  • 2012-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-13
  • 2022-01-18
  • 2021-08-18
  • 1970-01-01
相关资源
最近更新 更多