Дамп фрейма данных Panda в файл CSV неправильно декодирует значения. Он содержит данные Bytea в виде столбцов

#pandas #postgresql #dataframe #export-to-csv #bytea

#pandas #postgresql #фрейм данных #экспорт в csv #bytea

Вопрос:

У меня сложная структура таблицы в базе данных, которую я читаю в фрейме данных Panda. При печати фрейма данных все печатается правильно, но когда я дамп в CSV или преобразую его в список (каждая строка фрейма данных в виде списка) Я вижу следующие данные в нескольких столбцах: <память в 0x11a2c4640>

После небольшой отладки я узнал, что это столбцы BYTEA Postgres, и, возможно, разговор обрывается. Но фактическая путаница заключается в том, что если печать в порядке, почему запись в CSV не работает. Есть ли какой-либо способ создания необработанных фреймов данных дампа?

Комментарии:

1. Опубликуйте код, который вы пробовали, ваши результаты и часть csv, в которой вы обнаружили ошибку. Затем мы можем изучить ваш код

Ответ №1:

Попробуйте сохранить csv со специальной кодировкой:

df.to_csv(r"C:your path file.csv, index =True, encoding='utf-8-sig')

Ответ №2:

Попробуйте изменить тип столбца, в котором хранятся BYTEA данные

 df[col_name] = df[col_name].astype(bytes)
df.to_csv(filename)