码迷,mamicode.com
首页 > 其他好文 > 详细

爬虫项目案例讲解 案例二:数据处理

时间:2019-10-13 16:48:03      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:not   情况下   process   class   pre   line   pipe   name   return   

目的:前面的的数据已经传过来了,此时都封装在pipelines.py的 items 里面了。

此时需要对数据进行处理,怎么处理呢?
首先,
class StockPipeline(object):
def __init__(self):
self.file=open("executive_prep.csv","a+");#a+:拿到文件的读写权限,没有的话直接写,有的话追加写
def process_item(self, item, spider):
# 类加载时要创建一个文件
# 判断一个文件是否为空,为空则直接写
#不为空那么我就追加写文件
if os.path.getsize("executive_prep.csv") and (item not in self.file):
#开始写文件
self.write_content(item);
else:
self.file.write("高管姓名,性别,年龄,股票代码,职位\n");
self.file.flush();
return item;
这样,仿照上面写一个,写完后先定一个一个csv文件,然后在确保不重复读取的情况下去获取数据,获取数据进行封装的代码如下:
def write_content(self,item):
names = item["names"];
sexes = item["sexes"];
ages = item["ages"];
codes = item["codes"];
leaders = item["leaders"];
#此时获取到所有的数据了
result="";
for i in range(len(names)):
result=names[i]+","+sexes[i]+","+ages[i]+","+codes[i]+","+leaders[i]+"\n";
self.file.write(result);
此时,完成了数据的处理,并且找到刚才命名的文件,发现数据已经被写入。到此,第一个项目完成。

爬虫项目案例讲解 案例二:数据处理

标签:not   情况下   process   class   pre   line   pipe   name   return   

原文地址:https://www.cnblogs.com/jxxgg/p/11666852.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!