使用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')
# 展示效果

浙公网安备 33010602011771号