首页 > 解决方案 > psycopg2 错误:在数据中找到文字回车

问题描述

我正在尝试使用 psycopg2 和 sqlalchemy 将数据从 python 数据帧推送到 Postgres 数据库。这是脚本 -

from sqlalchemy import create_engine
import psycopg2 as pg
import io

address = 'postgresql://username:password@dbname.endpoint.rds.amazonaws.com:5432/dbname'
engine = create_engine(address)
connection = engine.raw_connection()
cursor = connection.cursor()

df_tbl.reset_index(inplace=True)

command = '''create table data.table_name(
index bigint,
pid varchar,
name varchar);'''
cursor.execute(command)
connection.commit()


output = io.StringIO()

df_tbl.to_csv(output, sep=',', header=False, index=False)

output.seek(0)
contents = output.getvalue()
cur = connection.cursor()

cur.copy_from(output, 'data.table_name', sep=',', null='')
connection.commit()
cur.close()

我得到这个错误 -

psycopg2.errors.BadCopyFileFormat: literal carriage return found in data HINT: Use "\r" to represent carriage return.

我尝试使用 line_terminator = '\r' 但它不起作用。我能做些什么?

标签: pythonpostgresqlsqlalchemypsycopg2

解决方案


推荐阅读