我编写了以下 python 代码,该代码将使用 psycopg2 和 python 的 csvwriter 将 postgresql 表的一部分写入 csv 文件。我遇到的问题是我得到了一个不完整的 csv 文件,我不知道为什么。通常,我看到的是 csv 文件中大约 80% 到 90% 的表,并且通常 csv 文件中输出的最后一行也不完整。在 RHEL6.4 上运行 Python2.6.6。寻求一些帮助来解决这个问题。
import psycopg2
import csv
connection = psycopg2.connect('dbname=db user=user password=pass host=localhost port=5555')
cursor = connection.cursor()
cursor.execute('SELECT title,date,publisher,author FROM books;')
with open('books.csv', 'wb') as csvfile:
csvwriter = csv.writer(csvfile,delimiter=',',quotechar='|', quoting=csv.QUOTE_MINIMAL)
csvwriter.writerow(['title,date,publisher,author'])
for record in cursor:
csvwriter.writerow(record)
cursor.close()
connection.close()