本地文件分多钟、不同的本地文件有不同的读取方法;
以上是对本地mysql内名为mydatabas数据库中visual_evaprecipition表的相关处理
首先导入xlwt和xlrd库
import openpyxl #导入库
wb = openpyxl.load_workbook('test_5.xlsx') #读取本地名为test_5.xlsx的文件
ws = wb.active #获取活跃sheet页
col_1 = ws['A'] #获取A列
col_2 = ws['C'] #获取C列
for col in col_1: #获取A列值
data_1.append(col.value)
for col in col_2: #获取C列值
data_2.append(col.value)
del data_1[0] #删除第一个元素(标题)
del data_2[0]
row = ws[6] # 获取第6行
col_range = ws['B:C'] #获取B-C列
row_range = ws[2:6] #获取2-6行
for col in col_range: # 打印BC两列单元格中的值内容
for cell in col:
print(cell.value)
for row in row_range: # 打印 2-5行中所有单元格中的值
for cell in row:
print(cell.value)
for row in ws.iter_rows(min_row=1, max_row=2, max_col=2): # 打印1-2行,1-2列中的内容
for cell in row:
print(cell.value)
for i in range(len(data_1)): #获取列表下标可进行相关处理
if xxxxx
首先导入pyecharts库:pip install pyecharts
#导入库
from example.commons import Faker
from pyecharts import options as opts
from pyecharts.charts import Bar
bar=(
Bar(init_opts=opts.InitOpts(theme=ThemeType.INFOGRAPHIC)) #主题
.add_xaxis(Faker.choose()) #x轴
.add_yaxis("商家A", Faker.values(), stack="stack1"(堆叠数据)) #y轴
.add_yaxis("商家B", Faker.values(), stack="stack1"(堆叠数据)) #y轴
#.reversal_axis() #翻转xy轴
#.set_series_opts(label_opts=opts.LabelOpts(position="right")) #翻转xy轴需要得配置项
#添加图表指定类型(最大值最小值和平均值)
#.set_series_opts(
# label_opts=opts.LabelOpts(is_show=False),
# markpoint_opts=opts.MarkPointOpts(
# data=[
# opts.MarkPointItem(type_="max", name="最大值"),
# opts.MarkPointItem(type_="min", name="最小值"),
# opts.MarkPointItem(type_="average", name="平均值"),
#]
#),
#)
#添加图表水平滑动条
#.set_global_opts(
# title_opts=opts.TitleOpts(title="Bar-DataZoom(slider-水平)"),
# datazoom_opts=opts.DataZoomOpts(),
# )
#添加图表垂直滑动条
# .set_global_opts(
# title_opts=opts.TitleOpts(title="Bar-DataZoom(slider-垂直)"),
# datazoom_opts=opts.DataZoomOpts(orient="vertical"),
#)
#全部显现x轴文字内容(即倾斜45度)
# .set_global_opts(title_opts=opts.TitleOpts(title=title, subtitle=subtitle),
# xaxis_opts=opts.AxisOpts(name_rotate=60,name="123456",axislabel_opts={"rotate":45}))
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title="各地AQI等级"))
)
bar.render("xxxx.html") #生成相应的可视化页面
详情参考
#导入库
from example.commons import Faker
from pyecharts import options as opts
from pyecharts.echarts import Line
line1=(
Line() # 生成line类型图表
.add_xaxis(Faker.choose()) # 添加x轴,Faker.choose()是使用faker的随机数据生成x轴标签
.add_yaxis('数据1',Faker.values(),is_smooth=True(平滑曲线),
linestyle_opts=opts.LineStyleOpts(color='green', width=2)(设置颜色宽度))
# 添加y轴,Faker.values()是使用faker的随机数据生成y轴数值
.add_yaxis('数据2',Faker.values(),is_smooth=True(平滑曲线),
markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_='max')]),(设置标记点)
markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_='average')]),(设置标记线)
linestyle_opts=opts.LineStyleOpts(color='green', width=2)(设置颜色宽度),
)
#设置平滑曲线
# .set_global_opts(title_opts=opts.TitleOpts(title='line smooth'))
#设置数轴属性
#.set_global_opts(
# title_opts=opts.TitleOpts(title='line 对数轴示例'),
# xaxis_opts=opts.AxisOpts(name='x'),# 设置x轴名字属性
# yaxis_opts=opts.AxisOpts(
# type_='log', # 设置类型
# name='y', # 设置y轴名字属性
# splitline_opts=opts.SplitLineOpts(is_show=True),# 这里将分割线显示
# is_scale=True # 这里范围设置true是显示线的顶端,设置为False的话就只会显示前2个数值
# )
#)
.set_global_opts(title_opts=opts.TitleOpts(title='标题'))
)
line1.render('xxxx') # 生成xxxx的网页文件
#设置项目样式
line10=(
Line()
.add_xaxis(xaxis_data=Faker.choose())
.add_yaxis(
'数据1',
Faker.values(),
symbol='square', # 线数值的标志,也可以为菱形、三角形、矩形等,这是设置为正方形
symbol_size=15, # 标志大小
# 设置线样式,颜色color为黑色,宽度width为5,类型为虚线,也可以设置实线、点线等
linestyle_opts=opts.LineStyleOpts(color='black',width=5,type_='dashed'),
label_opts=opts.LabelOpts(is_show=False),
itemstyle_opts=opts.ItemStyleOpts(
border_width=4,border_color='blue',color='red' # 设置边框标志宽度,边框颜色和边框里面颜色
)
)
.set_global_opts(
title_opts=opts.TitleOpts(title='Line ItemStyle'),
xaxis_opts=opts.AxisOpts(type_='category'), # 设置x轴类型为种类
yaxis_opts=opts.AxisOpts(
type_='value',
axistick_opts=opts.AxisTickOpts(is_show=True),
splitline_opts=opts.SplitLineOpts(is_show=True)
),
tooltip_opts=opts.TooltipOpts(is_show=False)
)
)
line10.render('xxx.html')
详情参考
Bar+Line双Y轴图
#导入库
from pyecharts.globals import ThemeType
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.charts import Line
bar = (
Bar()
.add_xaxis(data_1)
.add_yaxis("AQI指数", data_4)
.extend_axis(
yaxis=opts.AxisOpts(
axislabel_opts=opts.LabelOpts(formatter="{value} °C"), interval=5
)
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
title_opts=opts.TitleOpts(title="AQI与温度之间的关系"),
)
)
line = Line()\
.add_xaxis(data_1).add_yaxis("最高温", data_2, linestyle_opts=opts.LineStyleOpts(color='green'), yaxis_index=1)\
.add_yaxis("最低温", data_3, linestyle_opts=opts.LineStyleOpts(color='yellow'), yaxis_index=1)
bar.overlap(line)
bar.render("render_2.html")
详情参考