1. 程式人生 > >Scrapy用pipelines把字典保存為csv格式

Scrapy用pipelines把字典保存為csv格式

num open 設置 close ini pro project 名稱 ctp

import csv

class MyProjectPipeline(object):
# 保存為csv格式
def __init__(self):
# 打開文件,指定方式為寫,利用第3個參數把csv寫數據時產生的空行消除
self.f = open("myproject.csv","a",newline="")
# 設置文件第一行的字段名,註意要跟spider傳過來的字典key名稱相同
self.fieldnames = ["m_num","m_name","s_name","i_date","l_work","m_style","c_work"]
# 指定文件的寫入方式為csv字典寫入,參數1為指定具體文件,參數2為指定字段名
self.writer = csv.DictWriter(self.f, fieldnames=self.fieldnames)
# 寫入第一行字段名,因為只要寫入一次,所以文件放在__init__裏面
self.writer.writeheader()

def process_item(self, item, spider):
# 寫入spider傳過來的具體數值
self.writer.writerow(item)
# 寫入完返回
return item

def close(self,spider):
self.f.close()

Scrapy用pipelines把字典保存為csv格式