[英]Use psycopg2 query to copy data from a table to a csv file
我有使用csv文件的路徑
cur1.execute("select path from t2");
path = cur1.fetchone()
我知道要使用psycopg2執行到csv文件的復制,如下所示:
cur2.execute("COPY (SELECT id,a,b,c FROM t1,t2 WHERE a >= t2.d ) TO path[0] DELIMITER ',' CSV;")
我收到此錯誤: psycopg2.ProgrammingError: syntax error at or near "path"
提前致謝!
實際上,這里有兩個問題。
首先是您必須用'包圍文件名,這就是錯誤消息所指示的內容。
第二個是,如果執行此操作,則文件將被命名為path [0],可能不是您想要的文件,因為您的數據庫無法知道路徑是什么並且無法訪問它(這就是我想說的)。 因此,在將文件名發送到數據庫之前,必須在查詢中插入文件名。 參見http://initd.org/psycopg/docs/usage.html#passing-parameters-to-sql-queries
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.