【问题标题】:Pandas - Error inserting text column into Redshift tablePandas - 将文本列插入 Redshift 表时出错
【发布时间】:2018-12-12 23:45:00
【问题描述】:

我正在尝试将文本列插入 Redshift DB。

我收到一个错误

DataError: value too long for type character varying(256)

下面是我尝试过的代码。描述列有文本,长度最多为 2000 个字符。

任何人都可以帮助我如何将此列插入表格中。

 DF['description'] = DF['description'].str[:200].astype(str)

谁能帮忙,谢谢。

【问题讨论】:

  • 可能是扩展字符集,尝试将其增加到 400 看看是否有效
  • @JonScott,当我尝试使用 200 个字符时,它会引发错误。
  • 你试过我的建议了吗?将 TARGET 增加到 400(或更多),但保持源相同(即 200)
  • @JonScott,以下对我有用。 DF['description'] = DF['description'].str.slice(0,250)。尝试将列长度增加到 300,但它抛出了同样的错误..

标签: python-3.x amazon-redshift psycopg2


【解决方案1】:

您应该使用str.slice

df['description'] = df['description'].str.slice(0,255)

请注意,此功能仅适用于Strings,否则您可能需要进行类型转换。

希望对你有帮助。

【讨论】:

  • df['description'] = df['description'].str.slice(0,254) 如果它不起作用,我在其他一些问题中读过它,大小为 2 但Redshift 期望增加一个字符长度,但我不认为应该是案例。
  • 抱歉回复晚了。尝试了上述建议,但即使我尝试了 str.slice(0,250),它也抛出了同样的错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多