gpt4 book ai didi

python - 使用 Python 将 PostgreSQL 查询导出到 csv 文件

转载 作者:太空狗 更新时间:2023-10-30 00:47:28 25 4
gpt4 key购买 nike

我需要使用 Python 脚本将 PostgreSQL 数据库表中的一些行导出到 .csv 文件:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys, psycopg2

...

conn = psycopg2.connect("dbname=dbname user=user password=password")
cur = conn.cursor()

sql = "\copy (SELECT * FROM table WHERE month=6) TO '/mnt/results/month/table.csv' WITH CSV DELIMITER ';';"
cur.execute(sql)
cur.close()

...

但是当我运行脚本时,我得到了这个:

Syntax error at or near «\»
LINE 1: \copy (SELECT * FROM TABLE WHERE month=6) TO '...

有谁知道哪里出了问题或给我提示?

最佳答案

\copy 不是 SQL 命令,它是 Postgres 终端客户端 psql 的特定命令,不能在此上下文中使用。

改为使用 copy_expert(sql, file, size=8192),例如:

sql = "COPY (SELECT * FROM a_table WHERE month=6) TO STDOUT WITH CSV DELIMITER ';'"
with open("/mnt/results/month/table.csv", "w") as file:
cur.copy_expert(sql, file)

阅读有关函数 in the documentation. 的更多信息

关于python - 使用 Python 将 PostgreSQL 查询导出到 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49610908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com