目的:前面的的数据已经传过来了,此时都封装在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);
此时,完成了数据的处理,并且找到刚才命名的文件,发现数据已经被写入。到此,第一个项目完成。
原文地址:https://www.cnblogs.com/jxxgg/p/11666852.html