Redshift-将文本列插入数据库表时出现问题

时间:2018-07-05 08:35:10

标签: amazon-redshift psycopg2 python-jira

我正在尝试使用python将数据从JIRA更新到​​Redshift DB。我在从“说明”列更新值时遇到问题。 DB中的目标列的类型为varchar。

以下是在将“说明”列插入Redshift DB之前,我如何对其进行修改。

df['description'] = df['description'].astype(str)

它会引发以下错误:

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

我要插入此字段有什么错吗?说明列中的值的长度最多为6000个字符。

对此有任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

可能是this的重复项。

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

评论后编辑 这是我的完整示例。

import pandas as pd

d = {'name' : pd.Series(['FFFFF', 'FFFFF', 'FFFFFGGGGg'], index=['a', 'b', 'c']),
     'description' : pd.Series(['FFFFF', 'FFFFF', 'FFFFFGGGGg','4666666666'], index=['a', 'b', 'c', 'd']),
     'place' : pd.Series(['166666660', '26666666660', '3666666660'], index=['a', 'b', 'c'])}

df = pd.DataFrame(d)
print ("Our dataframe is:")
print (df)

print ("Modifying column description:")

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