python将一维数组导入到excel表格,并使用Origin绘图

python将一维数组导入到excel表格,并使用Origin绘图python将一维数组导入到excel表格,并使用excel绘图

大家好,又见面了,我是你们的朋友全栈君。

0. 背景及意义

声明:本文为当年很爱的一位女孩所写!

  • 在我们做课设、实验或者毕业设计时,撰写报告或论文,老师会要求使用专业的绘图工具出图,因此本文编写了将一维数组写入到excel表格的代码,使用专业绘图工具只需要导入表格即可绘图。
  • 数组示例:a = [1, 2, 3, 4, 5]
  • 此代码只是示例,请发挥想象,可拓展到多维数据(列表)

1. 安装必要的python

按下win+R,输入cmd打开控制面板,分别输入以下命令安装库:

pip install xlrd
pip install xlwt
pip install xlutils

如果嫌弃下载速度慢,请移步我的另一篇文章:pip下载加速

2. 示例代码

# coding=UTF-8
import xlrd
import xlwt
import numpy as np
from xlutils.copy import copy

excel1 = '表格1.xls'
excel2 = '表格2.xls'
excel3 = '表格3.xls'
excel4 = '表格4.xls'

# 想写入哪个表格后面就跟哪个表格
excel_name = 'excel/' + excel1

# sheet名称
sheet_name = '车雯心小姐姐的实验数据'

# 表头
title = ['Sequence', 'Temp', 'Vth', 'Vgs']

# 示例数据
data0 = list(range(0,100))

data1 = 1 * np.random.rand(100)
# data1 = 1 * np.random.randn(100)
# data1 = 1 * np.random.randint(100)
# data1 = 1 * np.random.permutation(100)

data2 = 2 * data1

data3 = 3 * data1

# 新建表格
def excel_int(path, sheet_name):
    workbook = xlwt.Workbook()  # 新建一个工作簿
    workbook.add_sheet(sheet_name)  # 在工作簿中新建一个表格
    workbook.save(path)  # 保存工作簿
    print("新建表格成功,表格名称为:",path)

# 写入表头
def excel_write_title(path, titels):
    workbook = xlrd.open_workbook(path)  # 打开工作簿
    new_workbook = copy(workbook)  # 将xlrd对象拷贝转化为xlwt对象
    new_worksheet = new_workbook.get_sheet(0)  # 获取转化后工作簿中的第一个表格
    for j in range(0, len(titels)):
        new_worksheet.write(0, j, str(titels[j]))  # 表格中写入数据(对应的行)
    new_workbook.save(path)  # 保存工作簿

# 向表格按列写入一维数组(列表)
def excel_write_array(path, value, column):
    workbook = xlrd.open_workbook(path)  # 打开工作簿
    new_workbook = copy(workbook)  # 将xlrd对象拷贝转化为xlwt对象
    new_worksheet = new_workbook.get_sheet(0)  # 获取转化后工作簿中的第一个表格
    for i in range(0, len(value)):
        # 向表格中写入数据(对应的列),初始位置加1(因为有表头)
        new_worksheet.write(i+1, column, float(value[i]))
    new_workbook.save(path)  # 保存工作簿


# 新建表格
excel_int(excel_name, sheet_name)

# 写入表头
excel_write_title(excel_name, title)

# 写入四列数据
excel_write_array(excel_name, data0, 0)
excel_write_array(excel_name, data1, 1)
excel_write_array(excel_name, data2, 2)
excel_write_array(excel_name, data3, 3)

3. 代码如何运行

请参照下图进行文件夹分配,在代码目录下新建一个excel文件夹,即可运行:
在这里插入图片描述

4. 将数据导入到origin绘图

在这里插入图片描述
导入excel数据后选中需要绘图的列,选择你想绘制的图表形式即可~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138880.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Delphi XE5 常见问题解答

    Delphi XE5 常见问题解答DelphiXE5常见问题解答有关于新即时试用的问题吗?请看看RADStudio即时试用常见问答.常见问题什么是Delphi?Embarcadero?Delphi?XE5是易于学习的应用开发,适合构建针对Android和iOS的真正原生应用、并将它们快速应用到应用商店和企业的团队。使用相同的源代码库构建应用,无需牺牲应用质量、连通性或性能。通过原生An…

    2022年7月18日
    9
  • java工程师面试题及答案_实施工程师面试问题

    java工程师面试题及答案_实施工程师面试问题内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Linux等技术栈。

    2022年10月15日
    0
  • pycharm2018激活码 pycharm激活码_软件一键无痕看怎么使用的

    pycharm2018激活码 pycharm激活码_软件一键无痕看怎么使用的PyCharm激活码最新破解教程,Mac版激活至2299年,PyCharm激活码2021.3.3

    2022年4月20日
    156
  • 寻找大素数算法

    寻找大素数算法packageprimeNumber;importjava.util.Arrays;importjava.util.Scanner;/***本文系作者高中时候与同学讨论的结果生成结果是依据素数定理推倒而来依据此公式可以求出无限大的素数但非公理次计算结果虽然可以求无限大的素数但仍需验证**@author王伟2020-3-18**/publi…

    2022年6月18日
    20
  • EXTJS详细教程

    EXTJS详细教程布局和容器普通布局Ext.create(‘Ext.panel.Panel’,{renderTo:Ext.getBody(),width:400,height:300,title:’ContainerPanel’,items:[{xtype:’panel’,title:’ChildPanel1′,height:100,width:’75%’},{

    2022年6月18日
    31
  • redis雪崩原因_什么是redis雪崩

    redis雪崩原因_什么是redis雪崩1、每天和技术水友,提三个问题。不喜勿喷。redis雪崩效应:1、redis缓存的时间同时失效或者无效的key,落地到db层,导致db层压力过大,引发一系列的功能不可用解决措施:以下穷逼公司解决方案:1、redis设置时间加入随机时间2、数据量少考虑加入本地缓存3、限流(TODO:用户体验不好)4、互斥锁(TODO:用的不好,系统分分钟down掉)5、定时任务(TODO:小心点,别乱塞)此乃富有公司最终解决方案6、加服务器(最终解决方案,一台不行加10台)…

    2022年9月14日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号