Python将一(多)维数组写入excel中的
Posted 遇见Time
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python将一(多)维数组写入excel中的相关的知识,希望对你有一定的参考价值。
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy 是一个运行速度非常快的数学库,主要用于数组计算。
python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。
xlutils提供一组用来操作Excel的工具,这些工具可能需要xlrd和xlwt的配合。
xlutils.copy 用来将xlrd.Book对象复制到xlwt.Workbook对象
(一)Python将一(多)维数组写入excel中的
# 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 # 记得新建一个文件夹“excel”(在项目下面)
# sheet名称
sheet_name = '测试数据'
# 表头
title = ['Sequence', 'Temp', 'Vth', 'Vgs']
# 示例数据
data0 = list(range(0,100)) # 获取0-99一共一百个数据(一维数组)[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,......]
#print(data0)
data1 = 1 * np.random.rand(100) #通过本函数可以返回一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1。
print(data1)
# 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)
以上是关于Python将一(多)维数组写入excel中的的主要内容,如果未能解决你的问题,请参考以下文章
如何将python数组(data = [])写入excel?
如何利用EXCEL VBA将一列数据中不重复的数据读取到数组中?
Python如何将一个列表写入到一个excel表中的一列,求Python代码,谢啦!