How to save CSV file from query in psycopg2(如何将查询到的CSV文件保存在PeckCopg2中)
本文介绍了如何将查询到的CSV文件保存在PeckCopg2中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正尝试在本地.csv中保存使用python对PostgreSQL数据库执行的查询的结果(使用心理拷贝g2)。
我可以在控制台中打印查询结果,但无法将其导出为CSV文件。
我已尝试使用COPY_TO函数,但即使使用documentation我也无法理解:
# Retrieve the records from the database with query
cursor.execute("SELECT col1 FROM myDB.myTable WHERE col1 > 2")
records = cursor.fetchall()
# Save to csv with copy_to
io = open('copy_to.csv', 'w')
cursor.copy_to(io, 'records', ',')
print("Copied records from query into file object using sep = ,")
io.close()
这会导致错误"ological Copg2.ProgrammingError:Relationship"Record"is"。
是否有更好的方法将查询结果存储在可以传递给Copy_to的本地表中?谢谢你的建议!
推荐答案
我做了更多的研究,这里有另一个可能更有效的解决方案:
``` python
import psycopg2
#note the lack of trailing semi-colon in the query string, as per the Postgres documentation
s = "'SELECT col1 FROM myDB.myTable WHERE col1 > 2'"
conn = psycopg2.connect...
db_cursor = conn.cursor()
SQL_for_file_output = "COPY ({0}) TO STDOUT WITH CSV HEADER".format(s)
WITH Open(filepath/name, 'w') as f_output:
cur.copy_expert(SQL_for_file_output, f_output)
conn.close()
```
这篇关于如何将查询到的CSV文件保存在PeckCopg2中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何将查询到的CSV文件保存在PeckCopg2中
猜你喜欢
- CTR 中的 AES 如何用于 Python 和 PyCrypto? 2022-01-01
- ";find_element_by_name(';name';)";和&QOOT;FIND_ELEMENT(BY NAME,';NAME';)";之间有什么区别? 2022-01-01
- 我如何透明地重定向一个Python导入? 2022-01-01
- 使用公司代理使Python3.x Slack(松弛客户端) 2022-01-01
- 使用 Cython 将 Python 链接到共享库 2022-01-01
- YouTube API v3 返回截断的观看记录 2022-01-01
- 如何使用PYSPARK从Spark获得批次行 2022-01-01
- 检查具有纬度和经度的地理点是否在 shapefile 中 2022-01-01
- 我如何卸载 PyTorch? 2022-01-01
- 计算测试数量的Python单元测试 2022-01-01