postgresqlのクエリ結果をcsvファイルに保存しようとしていますが、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'
Iは、以下の両方の方法を試みたが、それらの両方は、PostgreSQLからヘッダ情報を含めることができません。
c = csv.writer(open("kiker.csv","wb"))
for row in result:
c.writerow(row)
と
fp = open("kiker.csv","wb")
myFile = csv.writer(fp)
myFile.writerows(result)
fp.close()
私はこれをどのように修正することができますか? https://docs.python.org/3.6/library/csv.html#writer-objects
エラーが発生した部分は掲載されません。 –
エラーに2行追加しました。 'writer.writerow(result)' –