Python读取csv、xlsx文件并做柱状图

第一个函数和第四个函数是读取的csv,第二个函数和第三个函数是读取的xlsx。

import matplotlib.pyplot as plt;
import xlrd;
def pic_one():
    datas = [];
    with open('E:\\matlab\\r2019\\bin\\图像识别\\幼苗期代码\\分区\\result.csv') as fp:
        for i in range(0,26):
            data = fp.readline();
            data = data.strip();
            data = float(data);
            datas.append(data);
    #print(datas);
    x_lable = list(range(1,27));
    y_lable = datas;
    #让标题可以中文显示
    plt.rcParams['font.sans-serif'] = ['SimHei'];
    plt.rcParams['axes.unicode_minus'] = False;
    plt.title("幼苗期");
    plt.bar(x_lable,y_lable,width=0.6,color='blue');
    plt.savefig('C:\\Users\\86135\\Desktop\\pic\\pic_one.jpg');

def pic_two():
    datas = [];
    wb = xlrd.open_workbook('E:\\matlab\\r2019\\bin\\图像识别\\鳞芽及花芽分化期代码\\分区\\result.xlsx');
    sheet=wb.sheet_by_index(0)   #通过索引的方式获取到某一个sheet,现在是获取的第一个sheet页,也可以通过sheet的名称进行获取,sheet_by_name('sheet名称')
    rows=sheet.nrows   #获取sheet页的行数,一共有几行
    for i in range(0,rows):
        data = sheet.row_values(i);
        data = " ".join('%s' %id for id in data);
        data = float(data);
        datas.append(data);
    #print(datas);
    x_lable = list(range(1,rows+1));
    y_lable = datas;
    #让标题可以中文显示
    plt.rcParams['font.sans-serif'] = ['SimHei'];
    plt.rcParams['axes.unicode_minus'] = False;
    plt.title("鳞芽及花芽分化期");
    plt.bar(x_lable,y_lable,width=0.6,color='blue');
    plt.savefig('C:\\Users\\86135\\Desktop\\pic\\pic_two.jpg');
    
def pic_three():
    datas = [];
    wb = xlrd.open_workbook('E:\\matlab\\r2019\\bin\\图像识别\\蒜薹生长期代码\\分区\\result.xlsx');
    sheet=wb.sheet_by_index(0)   #通过索引的方式获取到某一个sheet,现在是获取的第一个sheet页,也可以通过sheet的名称进行获取,sheet_by_name('sheet名称')
    rows=sheet.nrows   #获取sheet页的行数,一共有几行
    for i in range(0,rows):
        data = sheet.row_values(i);
        data = " ".join('%s' %id for id in data);
        data = float(data);
        datas.append(data);
    print(datas);
    x_lable = list(range(1,rows+1));
    y_lable = datas;
    #让标题可以中文显示
    plt.rcParams['font.sans-serif'] = ['SimHei'];
    plt.rcParams['axes.unicode_minus'] = False;
    plt.title("蒜薹生长期");
    plt.bar(x_lable,y_lable,width=0.6,color='blue');
    plt.savefig('C:\\Users\\86135\\Desktop\\pic\\pic_three.jpg');
    
def pic_four():
    datas = [];
    with open('E:\\matlab\\r2019\\bin\\图像识别\\鳞茎膨大期代码\\分区\\result.csv') as fp:
        for i in range(0,109):
            data = fp.readline();
            data = data.strip();
            data = float(data);
            datas.append(data);
    #print(datas);
    x_lable = list(range(1,110));
    y_lable = datas;
    #让标题可以中文显示
    plt.rcParams['font.sans-serif'] = ['SimHei'];
    plt.rcParams['axes.unicode_minus'] = False;
    plt.title("鳞茎膨大期");
    plt.bar(x_lable,y_lable,width=0.6,color='blue');
    plt.savefig('C:\\Users\\86135\\Desktop\\pic\\pic_four.jpg');

if __name__=="__main__":
    i = input("需要做那个阶段的图");
    i = int(i);
    if i == 1:
        pic_one();
    elif i==2:
        pic_two();
    elif i==3:
        pic_three();
    elif i==4:
        pic_four();
    else:
        print("重新输入");
  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值