大家好,又见面了,我是你们的朋友全栈君。
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.cn/138880.html原文链接:https://javaforall.cn