Python读取Excel表格,并同时画折线图和柱状图的方法

yipeiwu_com6年前Python基础

今日给大家分享一个Python读取Excel表格,同时采用表格中的数值画图柱状图和折线图,这里只需要几行代码便可以实。

首先我们需要安装一个Excel操作的库xlrd,这个很简单,在安装Python后直接在DOS命令下输入pip install xlrd,便可以安装成功,如果还是不行,就输入Python -m pip install xlrd.后面会附上完整的代码和截图:

这行代码就是读取本地Excel文件的:

data = xlrd.open_workbook(r'C:\\Users\\ASUS\\Desktop\\txt1\\python3\\yxz2.xlsx')
table = data.sheets()[0]

接下来就是读取列中的数值,也即是列中对象的数据:这个是我举例读取第三列的值

table.col_values(2)

我这里采用是pyechats库画图,所以这里还需要安装;pip install pyechats,同时我们需要numpy库中的linspace,等间隔取值,因为Excel中的数据过大是,可能会产生广播尺度超出范围这个尺度。

t=np.linspace(1,296,len(y))#等间隔取值

接下来就是添加画图的数据:

bar.add("博客文章阅读量折线图展示",t,y,is_more_utils=True)

保存到本地HTML格式文件:

bar.render(r"C:/Users/ASUS/Desktop/txt1/bokezhexiantu.html")#保存到本地bokezhexiantu.html

以下就是完整代码:

# coding:utf-8
#导入读取Excel的库
import xlrd
#导入需要读取Excel表格的路径
data = xlrd.open_workbook(r'C:\\Users\\ASUS\\Desktop\\txt1\\python3\\yxz2.xlsx')
table = data.sheets()[0]
y=''
#将列的值存入字符串
y=table.col_values(2)#读取列的值
#导入pyechats库
from pyecharts import Bar
import numpy as np
t=np.linspace(1,296,len(y))#等间隔取值
bar=Bar("文章阅读量展示","统计如下")#主副标题
bar.add("博客文章阅读量折线图展示",t,y,is_more_utils=True)#标题
bar.show_config()#展示HTML源代码
bar.render(r"C:/Users/ASUS/Desktop/txt1/bokezhexiantu.html")#保存到本地bokezhexiantu.html

结果展示:

Python 读取Excel表格

Python 画折线图和柱状图

好了,就到这里了,对于Python我也是初学者,有什么不好的地方还望指教一二!

以上这篇Python读取Excel表格,并同时画折线图和柱状图的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 实现购物商城,含有用户入口和商家入口的示例

这是模拟淘宝的一个简易的购物商城程序。 用户入口具有以下功能: 登录认证 可以锁定用户 密码输入次数大于3次,锁定用户名 连续三次输错用户名退出程序 可以选择直接购买,也可以选择加入购物...

python之信息加密题目详解

1.贴题 题目来自PythonTip 信息加密 给你个小写英文字符串a和一个非负数b(0<=b<26), 将a中的每个小写字符替换成字母表中比它大b的字母。这里将字母表...

Python实现的百度站长自动URL提交小工具

URL提交是百度提供的一个站长工具,用于给站长提供手工收录某些URL的接口,但是该接口有验证码识别部分,比较难弄。所以编写了如下程序进行验证码自动识别: 主要思路 获取多个验证码,提...

对Python捕获控制台输出流的方法详解

有时候我们的代码里可能要调用控制台命令,比如我想用Python写一个批量编译 .java 文件的脚本,用到如下代码 常规用法 os.system import os,tracebac...

关于pycharm中pip版本10.0无法使用的解决办法

关于pycharm中pip版本10.0无法使用的解决办法

一、背景: 近期在利用 pycharm 安装第三方库时会提示 pip 不是最新版本, 因此对 pip 进行更新,但是生成最新版本之后, pip 中由于缺少 main 函...