Amazon redshift 红移-向数据库表插入文本列的问题

Amazon redshift 红移-向数据库表插入文本列的问题,amazon-redshift,psycopg2,python-jira,Amazon Redshift,Psycopg2,Python Jira,我正在尝试使用python将数据从JIRA更新到Redshift DB。我在更新“说明”列中的值时遇到问题。DB中的目标列的类型为varchar 下面给出了在将“description”列插入Redshift DB之前如何修改该列 df['description'] = df['description'].astype(str) 它抛出以下错误: DataError: value too long for type character varying(256) 插入此字段是否有任何错误。“说

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

下面给出了在将“description”列插入Redshift DB之前如何修改该列

df['description'] = df['description'].astype(str)
它抛出以下错误:

DataError: value too long for type character varying(256)
插入此字段是否有任何错误。“说明”列中的值长度最多可达6000个字符

在此方面如有任何帮助,将不胜感激

可能是重复的

df['description']=df['description'].str.slice(0255)

评论后编辑 下面是我的完整工作示例

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)

谢谢你的回复。尝试使用您的建议“df['description'].str.slice(0255)”。它抛出一个错误“ProgrammingError:can't adapt type'dict'”。不确定为什么会出现异常,我刚刚添加了完整的工作示例,这是我之前共享的一行。希望能有帮助。我想,无法适应可能是因为数据类型不匹配,尽管不确定。不知道如何解决这个问题,因为我的源列长度超过256个字符,但目标列类型是varchar。请相信这会导致问题。
str.slice(0,4)
正在将原始长度转换为4个字符,类似地(0255)将从任意长度截断为255个字符。