使用python对工作簿每个sheet表进行数据可视化展示(本案例是从第2个sheet开始循环读取也就是索引为1的表)

# 导入相关模块
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.charts import Line
import os
# excel处理模块 读:xlrd(read),写:xlrd(write)
import xlrd
# 读取excel文件
data = xlrd.open_workbook(r'D:\xlsx\db\xxx统计分析.xlsx')
# 通过索引读取sheet表
# table = data.sheets()[1]
# 获取所有sheet表名
sheet_list = data.sheet_names()
for x in range(1,len(sheet_list)):
    table = data.sheets()[x]
    # 通过表名读取
    # table = data.sheet_by_name('华中-xxx有限公司')
    # 打印表的行数,列数
    # print(table.nrows,table.ncols)
    # 存放时间,超速,振动,负载,点检,离位列表
    time_list = []
    cs_list = []
    zd_list = []
    fz_list = []
    dj_list = []
    lw_list = []

     # 将需要展示的数据行和列加入列表

    for i in range(1,table.nrows):
     # x轴坐标数据
       time_list.append(table.row_values(i)[0])
        # y轴坐标数据
     cs_list.append(table.row_values(i)[3])
        zd_list.append(table.row_values(i)[4])
        fz_list.append(table.row_values(i)[5])
        dj_list.append(table.row_values(i)[6])
        lw_list.append(table.row_values(i)[7])
    # 折线图
    line = Line()
    line.add_xaxis(time_list)
    line.add_yaxis('超速',cs_list)
    line.add_yaxis('振动',zd_list)
    line.add_yaxis('负载',fz_list)
    line.add_yaxis('点检',dj_list)
    line.add_yaxis('离位',lw_list)
    # line.set_colors(['red','green','blue','black','fuscia'])
   # 设置图表标题及子标题 
  line.set_global_opts(opts.TitleOpts(title="华中", subtitle=sheet_list[x]))
    if sheet_list[x]:
        line.render(sheet_list[x])
        os.replace(sheet_list[x],sheet_list[x] + '.html')
# 展示效果

 

posted @ 2021-07-19 14:36  闻所未闻  阅读(250)  评论(0编辑  收藏  举报