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