然后读取数据文件,通过对表格中的第二列进行反向排序,使商品按照想要数进行降序排列。
- def __sort_result(self):
- """
- 对爬取的结果进行排序
- :return:
- """
- reader = csv.reader(open(self.file_path), delimiter=",")
-
- # 头部标题
- head_title = next(reader)
-
- # 按照第二列进行逆序排列
- sortedlist = sorted(reader, key=lambda x: (int(x[1])), reverse=True)
-
- # 写入头部数据
- write_to_csv(self.file_path, [(head_title[0], head_title[1], head_title[2])], False)
-
- for value in sortedlist:
- write_to_csv(self.file_path, [(value[0], value[1], value[2])], False)
-
- return sortedlist
最后拿到前 10 项数据,利用 pyecharts 生成统计图表。
- def draw_image(self, sortedlist):
- """
- 画图
- :param sortedlist:
- :return:
- """
-
- # 标题列表
- titles = []
-
- # 销量
- sales_num = []
-
- # 拿到爬取结果的标题、销量两个列表
- with open(self.file_path, 'r') as csvfile:
- # 读取文件
- reader = csv.DictReader(csvfile)
-
- # 加入列表中
- for row in reader:
- titles.append(row['title'])
- sales_num.append(row['num'])
-
- # 数目限制
- if len(titles) > self.num:
- titles = titles[:self.num]
- sales_num = sales_num[:self.num]
-
- # 画图
- bar = (
- Bar()
- .add_xaxis(titles)
- .add_yaxis("哪些好卖", sales_num)
- .set_global_opts(title_opts=opts.TitleOpts(title="我要卖货"))
- )
- bar.render('%s.html' % self.good_msg)
第 7 步,配置参数。
(编辑:晋中站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|