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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PHP审计之WeEngine审计

    PHP审计之WeEngine审计前言审计该CMS加深一下对于MVC架构的php审计流程梳理路由打开代码看到index.php文件if($_W['os']=='mo

    2021年12月13日
    44
  • networkmanager是什么服务_NetworkManager下载

    networkmanager是什么服务_NetworkManager下载NetworkManager在Linux系统下network与networkmanager之间冲突问题我们经常会停止networkmanager服务来解决此类问题:systemctlstopnetworkmanager。但在停止服务的时候这个端口很可能就被停止掉了,因为这个端口本来被networkmanager管理着,现在被停掉后他就会down掉。所以为了让networkmanager不影响端口,应该让networkmanager不去管理端口,如下命令是查看被networkmanager管理的端口

    2022年10月5日
    1
  • listagg 函数[通俗易懂]

    listagg 函数[通俗易懂]listagg函数–oracle11grelease2转载:http://xpchild.blog.163.com/blog/static/10180985920108485721969/本文描述了在oracle11grelease2版本中新增的listagg函数,listagg是一个实现字符串聚合的oracle内建函数。作为一种普遍的技术,网络上也有多种实现字符串聚合的方…

    2025年9月29日
    2
  • 在线用户数与并发用户数的区别和比例关系[通俗易懂]

    在线用户数与并发用户数的区别和比例关系[通俗易懂]在线用户数与并发用户数的区别和比例关系在线用户数:用户同时在一定时间段的在线数量并发用户数:某一时刻同时向服务器发送请求的用户数一般而言,我们习惯以5-20的比率来推算并发用户与在线用户之间的关系。即,并发与在线的比例约为5%-20%比如,某网站存在注册用户数为10W人,但同时在线最多1W人,但这1W个人,可能只有500人会浏览帖子,500人会进行发帖,只有这1000个人对服务

    2022年5月14日
    63
  • python 网络爬虫入门(一)———第一个python爬虫实例

    python 网络爬虫入门(一)———第一个python爬虫实例最近两天学习了一下python,并自己写了一个网络爬虫的例子。python版本:3.5IDE:pycharm5.0.4要用到的包可以用pycharm下载:File->DefaultSettings->DefaultProject->ProjectInterpreter选择python版本并点右边的加号安装想要的包我选择的网站是中国天气网中的苏州天气,准备抓取最近

    2022年5月22日
    37
  • idea 离线安装 lombok插件[通俗易懂]

    idea 离线安装 lombok插件[通俗易懂]Lombok简介Lombok是Java语言的实用工具,确切的说,应该说是一个很好用的插件,对,插件!可以用来帮助开发人员消除Java代码的冗长,尤其是对于简单的Java对象(POJO),它通过注解实现这一目的,而不是一大段一大段的Java方法。ProjectLombokmakesjavaaspicierlanguagebyadding’handlers’thatknowho…

    2022年5月7日
    98

发表回复

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

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