作者allen511081 (藍)
看板Python
標題[問題]scrapy pipelines 無法寫入CSV檔
時間Wed Jan 7 17:00:47 2015
繼上次發問pipelines的問題後,已經自行解決keyerror的問題,
這次是無法寫入CSV檔,明明執行的時候都沒出現錯誤訊息,但就是寫不進去
CSV檔,附上程式碼
pipelines.py
import csv
from myproject.items import BirdTitle,BirdName,BirdCount
class myPipeline(object):
def __init__(self):
self.myCSV = csv.writer(open('birds.csv','wb'))
self.myCSV.writerow(['title','birdname','count'])
def process_item(self, item,spider):
titles=[]
names=[]
counts=[]
for title in item:
if isinstance(item, BirdTitle):
for title in item['title']:
titles.append(title)
return titles
for name in item:
if isinstance(item, BirdName):
for name in item['birdName']:
names.append(name)
return names
for count in item:
if isinstance(item,BirdCount):
for count in item['count']:
counts.append(count)
return counts
for a, b,c in zip(titles,names,counts):
self.myCSV.writerow([a, b,c])
return item
請問我該如何解決?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.70.151.159
※ 文章網址: http://www.ptt.cc/bbs/Python/M.1420621249.A.CE1.html
→ alibuda174: process_item的作用是? 為何那麼多個return 01/07 17:33
→ alibuda174: item給個例子吧 01/07 17:33
→ allen511081: process_item 是在處理蜘蛛爬來的資料 01/07 20:56
→ allen511081: return是返回list,總共有三個list 01/07 20:57
→ allen511081: item[titleA,titleB,nameA,nameB,countA,countB] 01/07 21:00
→ allen511081: 把item處理成三個list後,就是titles,names,counts 01/07 21:03
→ alibuda174: return titles 那process_item不就結束了... 01/07 23:30
推 ug945: 只要 在最後return item就好了 其他的都不用 01/07 23:59
→ allen511081: 已經處理掉3個return了,CMD畫面有抓到東西,但是 01/08 09:57
→ allen511081: 最後就是存不進去CSV檔裡面,檔案裡就只有headerline 01/08 09:59