我将爬虫爬取的数据存入excel表中,并想在表中用柱状图展示出来,但是纵座标的数据始终出不来
from bs4 import BeautifulSoup
import requests
from openpyxl import Workbook, load_workbook
from openpyxl.chart import BarChart, Series, Reference
def chart_show(url):
html_doc = requests.get(url).text
soup = BeautifulSoup(html_doc, features="lxml")
links = soup.select("tbody")[0].select('tr')
ranktop = [] # 存放排名
name = [] # 存放名称
hot_num = [] # 存放热度
links = links[1:]
for tr in links:
mz = tr.select('a')[0].contents[0].string
name.append(mz)
pm = int(tr.select('td')[0].string)
ranktop.append(pm)
rd = tr.select('span')[0].string
hot_num.append(rd)
wb = Workbook(write_only=True)
ws = wb.create_sheet()
ws.append(['排名', '名称', '热度'])
for i in range(50):
l = [ranktop[i], name[i].encode('utf-8'), hot_num[i].encode('utf-8')]
ws.append(l)
chart1 = BarChart()
chart1.type = "col"
chart1.style = 10
chart1.title = "热搜数据可视化"
chart1.y_axis.title = 'hot_num'
chart1.x_axis.title = 'topic'
data = Reference(ws, min_col=3, min_row=1, max_row=51, max_col=3)
cats = Reference(ws, min_col=2, min_row=2, max_row=51)
chart1.add_data(data, titles_from_data=True)
chart1.set_categories(cats)
chart1.shape = 4
ws.add_chart(chart1, "A53")
wb.save('./static/data_show.xlsx')
def main():
url = "https://s.weibo.com/top/summary?cate=realtimehot"
chart_show(url)
if __name__ == '__main__':
main()
是不是数据太大了呢? 这个柱状图的官方文档好像也不是太详细