scrapy1.4的csv输出时出现空行问题的源码修复-patch

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scrapy1.4的csv输出时出现空行问题的源码修复-patch相关的知识,希望对你有一定的参考价值。

进入scrapy相关输出csv的源码路径

我的路径为:D:\Python35\Lib\site-packages\scrapy

编辑该路径下的exporters.py文件,并修改的内容如下:

class CsvItemExporter(BaseItemExporter):

    def __init__(self, file, include_headers_line=True, join_multivalued=‘,‘, **kwargs):
        self._configure(kwargs, dont_fail=True)
        if not self.encoding:
            self.encoding = ‘utf-8‘
        self.include_headers_line = include_headers_line
        self.stream = io.TextIOWrapper(
            file,
            
 	    newline=‘‘,      #在这里添加newline=‘‘,
 	    
            line_buffering=False,
            write_through=True,
            encoding=self.encoding
        ) if six.PY3 else file
        self.csv_writer = csv.writer(self.stream, **kwargs)
        self._headers_not_written = True
        self._join_multivalued = join_multivalued


完成之后进行测试,成功之后下面设计scrapy的固定scv字段的输出:

首先在setting.py的同级目录下创建一个名为gl_csv_item_exporter.py的文件并写入:

.conf settings
.exporters CsvItemExporter

(CsvItemExporter):

    (*args**kwargs):
        delimiter = settings.get()
        kwargs[] = delimiter

        fields_to_export = settings.get([])

        (MyProjectCsvItemExporter).(*args**kwargs)

在setting.py下添加以下内容:(itjz是我的项目名,使用的时候改一下)

注意:title2和title是我项目里定义的item名

FEED_EXPORTERS = {
    ‘csv‘: ‘itjz.gl_csv_item_exporter.MyProjectCsvItemExporter‘,
}
FIELDS_TO_EXPORT = [
    ‘title2‘,
    ‘title‘
]

本文出自 “10700016” 博客,请务必保留此出处http://10710016.blog.51cto.com/10700016/1964773

以上是关于scrapy1.4的csv输出时出现空行问题的源码修复-patch的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在 Scriptella 中输出 CSV 文件时出现双引号?

php 从Gravity Forms导出文件中删除空行(导入到excel时出现问题)

PyInstaller:尝试运行分发文件时出现 FileNotFoundError

在 Pandas 中保存 csv 文件时如何添加交替的空行

DataTable 整行为空时,去除空行,常用于Excel导入,转换为DataTable时出现

Python CSV删除空行[重复]