网上搜出来的、通过创建类的办法调用settings属性并指定表头顺序的案例过时了。scrapy1.6之后已经没有scrapy.conf 和scrapy.scrapy.contrib。
以下是2021.10月更新的代码
#在spiders文件夹下创建py文件,代码如下:
from scrapy.utils.project import get_project_settings
from scrapy.exporters import CsvItemExporter
class MyProjectCsvItemExporter(CsvItemExporter):
settings=get_project_settings()
def __init__(self, *args, **kwargs):
delimiter = settings['CSV_DELIMITER']
kwargs['delimiter'] = delimiter
fields_to_export = settings['FIELDS_TO_EXPORT']
if fields_to_export :
kwargs['fields_to_export'] = fields_to_export
super(MyProjectCsvItemExporter, self).__init__(*args, **kwargs)
#在settings中增加变量FIELDS_TO_EXPORT,值为列表,列表里放入按需排序的item名字
FIELDS_TO_EXPORT = [
&nb

针对Scrapy 1.6及更高版本,网上的旧教程关于设置CSV表头顺序的方法已过时。本文提供2021年10月更新的代码实现,通过在spiders文件夹下创建自定义的MyProjectCsvItemExporter类,继承自CsvItemExporter,并在settings中定义FIELDS_TO_EXPORT变量,来设定导出CSV文件时的字段顺序。
最低0.47元/天 解锁文章
1167

被折叠的 条评论
为什么被折叠?



