绘制excel数据

分类

自动化办公-excel-绘制excel数据

开始

依赖

xlrd                                1.1.0
matplotlib                          2.2.3
python                              3.7.7

献上代码

# magic remark
# -*- encoding:utf-8 -*-
import xlrd
import matplotlib.pyplot as plt
import os
fig = plt.figure()
while(1):
    name = input('请输入文件名:')
    if(not os.path.exists(name)):
        print('文件不存在')
        continue
    _,ext = os.path.splitext(name)
    if(ext != '.xlsx'):
        print('错误的文件格式')
        continue
    break
book = xlrd.open_workbook(name)
sheets = book.sheets()
subs = []
while(1):
    flag = True
    val = input('请输入排版格式(x,y):')
    try:
        xy = val.split(',')
        x,y = [int(xy[0]),int(xy[1])]
        if(x * y != len(sheets)):
            print('错误的格式')
            flag = False
    except Exception as e:
        print(f'错误的格式:{e}')
        flag = False
    if(flag):
        break
for i in range(len(sheets)):
    sub = fig.add_subplot(x,y,i + 1)
    subs.append(sub)
for i in range(len(sheets)):
    p = subs[i]
    s = sheets[i]
    f = 1
    x,y = [],[]
    if(type(s.row_values(0)[0]) != str and type(s.row_values(0)[1]) != str):
        f = 0
    for j in range(f,s.nrows):
        r = s.row_values(j)
        x.append(r[0])
        y.append(r[1])
    p.plot(x,y)
plt.show()

效果

plot.xlsx-sheet1
plot.xlsx-sheet2
效果

代码剖析

导入库
# magic remark
# -*- encoding:utf-8 -*-
import xlrd
import matplotlib.pyplot as plt
import os
初始化画图库
fig = plt.figure()
输入文件名称
while(1):
    name = input('请输入文件名:')
    if(not os.path.exists(name)):
        print('文件不存在')
        continue
    _,ext = os.path.splitext(name)
    if(ext != '.xlsx'):
        print('错误的文件格式')
        continue
    break
初始化excel
book = xlrd.open_workbook(name)
sheets = book.sheets()
subs = []
输入排版格式
while(1):
    flag = True
    val = input('请输入排版格式(x,y):')
    try:
        xy = val.split(',')
        x,y = [int(xy[0]),int(xy[1])]
        if(x * y != len(sheets)):
            print('错误的格式')
            flag = False
    except Exception as e:
        print(f'错误的格式:{e}')
        flag = False
    if(flag):
        break
添加子图
for i in range(len(sheets)):
    sub = fig.add_subplot(x,y,i + 1)
    subs.append(sub)
读取excel并画图
for i in range(len(sheets)):
    p = subs[i]
    s = sheets[i]
    f = 1
    x,y = [],[]
    if(type(s.row_values(0)[0]) != str and type(s.row_values(0)[1]) != str):
        f = 0
    for j in range(f,s.nrows):
        r = s.row_values(j)
        x.append(r[0])
        y.append(r[1])
    p.plot(x,y)
plt.show()

github地址

程序github

作者

hit-road

拜拜,下课!

hit-road不定期跟新,不见不散!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值