Scrapy:如何添加在CSV输出中对条目进行编号的项目?

Scrapy:如何添加在CSV输出中对条目进行编号的项目?,scrapy,Scrapy,我需要在spider(item['number']=…)中包含一个项,该项仅按升序为CSV输出文件中的每一行分配一个编号 因此,“number”列将为第一行分配1,为第二行分配2,依此类推。我将如何对该项进行编码,使其以每次返回+1增量的方式返回 *如果您想知道,我需要使用number列作为多维数据集数据库的Dim主键 感谢您的帮助。谢谢大家! 当您要读取csv文件时,可以使用枚举如: import csv with open('file.csv', 'w') as csvfile:

我需要在spider
(item['number']=…)
中包含一个项,该项仅按升序为CSV输出文件中的每一行分配一个编号

因此,“number”列将为第一行分配1,为第二行分配2,依此类推。我将如何对该项进行编码,使其以每次返回+1增量的方式返回

*如果您想知道,我需要使用number列作为多维数据集数据库的Dim主键


感谢您的帮助。谢谢大家!

当您要读取csv文件时,可以使用
枚举
如:

import csv

with open('file.csv', 'w') as csvfile:
    reader = csv.reader(csvfile)
    for i, row in enumerate(reader, start=1):
        print(i)

如果确实希望编号成为项目生成过程和输出的一部分,则可以使用

settings.py

ITEM_PIPELINES = {
    "myspider.pipelines.NumberPipeline": 300,
}
class NumberPipeline(object):
    def open_spider(self, spider):
        self.number = 1 # The starting number.

    def process_item(self, item, spider):
        item['number'] = self.number
        self.number += 1
        return item
pipelines.py

ITEM_PIPELINES = {
    "myspider.pipelines.NumberPipeline": 300,
}
class NumberPipeline(object):
    def open_spider(self, spider):
        self.number = 1 # The starting number.

    def process_item(self, item, spider):
        item['number'] = self.number
        self.number += 1
        return item

到目前为止你都试了些什么?谢谢!这对我很有效。非常感谢你的帮助!