Redshift - проблема вставки текстового столбца в таблицу базы данных - PullRequest
0 голосов
/ 05 июля 2018

Я пытаюсь обновить данные из JIRA в Redshift DB, используя python. У меня проблемы с обновлением значения из столбца «Описание». Целевой столбец в БД имеет тип varchar.

Ниже приведен способ изменения столбца «описание» перед его вставкой в ​​Redshift DB.

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

И выдает следующую ошибку:

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

Что-то не так, что я делаю, чтобы вставить это поле? Длина значений в столбце описания составляет до 6000 символов.

Любая помощь в этом, была бы признательна ..

1 Ответ

0 голосов
/ 05 июля 2018

Вероятно, дубликат этого .

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)
...