Python将一(多)维数组写入excel中的

Posted 遇见Time

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python将一(多)维数组写入excel中的相关的知识,希望对你有一定的参考价值。

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy 是一个运行速度非常快的数学库,主要用于数组计算。
python操作excel主要用到xlrdxlwt这两个库,即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将一列数据中不重复的数据读取到数组中?

OutputStreamWriter 仅将一项写入文件

Python如何将一个列表写入到一个excel表中的一列,求Python代码,谢啦!

Python Excel 多sheet 多条数据 自定义写入

使用python写入HDFS中的excel文件