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 copyexcel1 = '表格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 * data1data3 = 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数据后选中需要绘图的列,选择你想绘制的图表形式即可~