绘制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不定期跟新,不见不散!

猜你喜欢

转载自blog.csdn.net/weixin_42954615/article/details/108316090