私はスクレイピーを使用して Web ページをスクレイピングし、それを postgres データベースに追加しています。最初の INSERT ステートメントは正常に機能し、データベースから項目を選択できます。2番目のものはデータを挿入するようですが、すべてのフィールドが空白です
date | count
---------------------------+-------
04/2013 |
03/2013 |
02/2013 |
これが私のコードです:
#Database init
self.conn = psycopg2.connect("dbname='dataproject' user='xxxx' host='localhost' password='xxxxxx'")
self.cursor = self.conn.cursor()
#CSV files
self.DatavisItemCsv = csv.writer(open('DatavisTable.csv', 'wb'))
self.DatavisItemCsv.writerow(['dates', 'counts'])
def process_item(self, item, spider):
self.DatavisItemCsv.writerow([item['dates'], item['counts']])
date_list = item['dates']
count_list = item['counts']
for s in date_list:
self.cursor.execute('INSERT INTO ufo_info(date) VALUES (%s);', [s])
for c in count_list:
self.cursor.execute('INSERT INTO ufo_info(count) VALUES (%s);', [c])
self.conn.commit()
これは私の for ループと何か関係がありますか? データ競争?