关于使用Scrapy命令导出csv文件时乱码和带空行问题

今天使用Python(我的python版本是3.6)的Scrapy(版本1.5.0)框架爬了一些数据,当我通过scrapy crawl qs -o qius.csv命令把数据导出来保存成csv文件打开时发现里面是乱码而且带空行所以就研究一下如何解决这个问题, 给遇到相同问题的朋友提供一个参考。
关于乱码我是这样解决的(两个方法):
(1) 可以使用notepad++, editplus等文本编辑器将 文档 的编码转为UTF-8 BOM形式, 例如这样:
这里写图片描述
(2) 修改scrapy的源代码
我的scrapy源码目录D:\Python36\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 = 'gbk'  # windows改为gbk

关于空行的问题我是这样解决的:
同一个文件exporters.py的同一位置

class CsvItemExporter(BaseItemExporter):
    def __init__(self, file, include_headers_line=True, join_multivalued=',', **kwargs):
        ...
        self.stream = io.TextIOWrapper(
            file,
            newline="",     # 新添加的
            line_buffering=False,
            write_through=True,
            encoding=self.encoding
        ) if six.PY3 else file
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值