从CSV错误的psycopg2复制

时间:2018-07-15 20:52:05

标签: python postgresql psycopg2

此操作失败,并显示以下消息:无法打开文件““ C:/Users/Xxxx/xxxxxxx/xxxxx/c.csv””以读取:无效的参数。我试图写:'{}'和{}。我完全不知道该怎么办

csv_full = 'C:/Users/Xxxx/xxxxxxx/xxxxx/c.csv'
cur.execute(
        sql.SQL("""copy {} FROM '{}'
        HEADER DELIMITER ',' CSV""").format(psycopg2.sql.Identifier(table_name),psycopg2.sql.Identifier(csv_full)))

1 个答案:

答案 0 :(得分:0)

文件名不是标识符。它应该是一个普通的(字符串)文字。为此使用占位符:

struct Qdisc

请注意,csv_full = 'C:/Users/Xxxx/xxxxxxx/xxxxx/c.csv' query = sql.SQL("""copy {} FROM %s HEADER DELIMITER ',' CSV""").format(psycopg2.sql.Identifier(table_name)) cur.execute(query, (csv_full,)) 不适用于Python%格式。