Python 写标题&;对csv的查询

Python 写标题&;对csv的查询,python,csv,psycopg2,Python,Csv,Psycopg2,我试图将postgresql的查询结果保存到csv文件中,但csv文件有时缺少标题,但会写入查询的所有详细信息 import psycopg2 import csv try: conn = psycopg2.connect(database = '', user = '', host = '', password = '') except: print ("I am unable to connect to the database") cursor = conn.curso

我试图将postgresql的查询结果保存到csv文件中,但csv文件有时缺少标题,但会写入查询的所有详细信息

import psycopg2
import csv

try:
    conn = psycopg2.connect(database = '', user = '', host = '', password = '')
except:
    print ("I am unable to connect to the database")

cursor = conn.cursor()

query = """select * from"""

cursor.execute(query)

result = cursor.fetchall()

with open("kiker.csv","wb") as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames = ["Builder", "Subdivision", "Spec", "Build", "Cancel", "Price", "Sq_Ft", "PPSF", "Realtor", "Project ID"], extrasaction = 'ignore')
    writer.writeheader()
    writer.writerow(result)

print "Query 1 Created"
错误:

Traceback (most recent call last):
  File "C:\\connecting.py", line 45, in   <module>
    writer.writerow(result)
  File "C:\Python27\lib\csv.py", line 152, in writerow
    return self.writer.writerow(self._dict_to_list(rowdict))
  File "C:\Python27\lib\csv.py", line 149, in _dict_to_list
    return [rowdict.get(key, self.restval) for key in self.fieldnames]
AttributeError: 'list' object has no attribute 'get'


如何解决这个问题?

DictWriter需要dicts,而不是元组:

我用Pandas来解决这个问题。工作很愉快

cursor.execute(query)

result = cursor.fetchall()

first = pd.DataFrame(result, columns = ["Builder","Subdivision","Spec","Build","Cancel","Price","Sq_Ft","PPSF","Realtor","Project ID"])

first.to_csv("kiker.csv",index = False)

未发布引发错误的代码部分。在错误中又添加了两行<代码>writer.writerow(结果)
fp = open("kiker.csv","wb")
myFile = csv.writer(fp)
myFile.writerows(result)
fp.close()
cursor.execute(query)

result = cursor.fetchall()

first = pd.DataFrame(result, columns = ["Builder","Subdivision","Spec","Build","Cancel","Price","Sq_Ft","PPSF","Realtor","Project ID"])

first.to_csv("kiker.csv",index = False)