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


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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM