Python Scrapy将项目键打印为CSV中的标题

时间:2016-08-11 02:49:45

标签: python csv scrapy

我有一个scrapy项目,我正在尝试使用管道将数据导出到csv文件,我想将项目键打印为csv文件的第一行。我的管道代码如下(我可以在必要时发布更多代码,但我想这就足够了)。提前谢谢。

import csv

class CsvWriterPipeline(object):

    def __init__(self):
        self.csvwriter = csv.writer(open('items.csv','wb'))

    def process_item(self,item,pfr):
        self.csvwriter.writerow([item[key] for key in item.keys()])
        return item

1 个答案:

答案 0 :(得分:2)

如果您通过以下方式输出csv,则Scrapy已将标头添加到csv导出:

scrapy crawl spidername --output results.csv

如果你想在管道中手动完成,你可以在管道open_spider()方法中创建文件和写标题,这将在蜘蛛打开时执行其中的所有代码。

类似的东西:

def open_spider(self, spider):
    header_keys = MyItem.fields.keys()
    self.csvwriter.writerow(header_keys)