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()