看板 Python 關於我們 聯絡資訊
繼上次發問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