我编写了以下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()