您的位置:首页 > 其它

scrapy保存为csv文件 再将csv导入excel方法,及导入excel时出错:"自文本导入 包含的数据无法放置在一个工作表中"的坑

2018-07-11 18:20 751 查看

今天从拉勾网爬取职位信息准备作数据分析,因为想用Excel做数据可视化,遂决定将爬取信息保存为csv文件,再导入excel中。

scrapy 自带的 exporters 类下的方法 CsvItemExporter 可以用来保存Item数据为csv文件。

scrapy.exporters.
CsvItemExporter使用方法参看官方文档: Item Exporters


[code]class LgspiderPipeline(object):# 创建接收文件,初始化exporter属性,然后启动start_exporting(),接收Itemdef open_spider(self, spider):self.file = open("lagoudata13.csv", "wb")  # lagoudata13.csv为将要写入的文件名self.exporter = CsvItemExporter(self.file,fields_to_export=['positonId','city', "companyFullName", 'education','positionName','jobNature','job_detail','jobInfo','jobAttract','workYear','salary','CreateTime']) # fields_to_export 为Items字段列表self.exporter.start_exporting()def process_item(self, item, spider):self.exporter.export_item(item)return item# 结束exporter的exporting,关闭文件def close_spider(self, spider):self.exporter.finish_exporting()self.file.close()
完了之后新建Excel文档,数据——>获取外部数据下的 自文本——>选上csv文件——>三步设置

如果爬取的信息里有'context'文本,第二步文本识别符选上'',会将''里的内容当作整体不分割。

正常情况下来导入excel文件就成功了。

而我喜闻乐见的出现了下面的错误: 此文本文件包含的数据无法放置在一个工作表中

我总共不到1500行信息啊,只导入了一个表头。

发生这种情况原因是:爬取保存的csv文件中含有大量的无用换行符(具体原因我也不知道,如你知道,请不吝赐教)

而这种换行符在我用txt、editplus查看时均看不出来,最后用sublime打开时才看出:


可以看到同一个文本上面存在大量空行,而下面文本则正常,复制下面部分文档做导入测试正常可说明这点。

最后利用ctrl+H 替换掉多余换行符,再导入到Excel中,一切正常。

一个坑让我装了三个版本的office,耗了我两个多小时,希望对你有所帮助,over!

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐