用惯了matlab里方便实用的xlsread,xlswrite的函数,在python里很不习惯. 对于我而言,数模的数据还是通过excel来存取最方便. 于是,昨天晚上搜了搜有没有能一步到位的模块,遗憾的是网上写的xlrd与xlwt的功能都比较局限,于是自己编了两个小函数.
import numpy as np import xlrd import xlwt
filename=”C:\Users\CAMPUFIX\Desktop\p-models\data2333.xlsx”#读取的文件名 def xlsread(filename): wb=xlrd.open_workbook(filename) sh=wb.sheet_by_index(0)#第一个表 nrows = sh.nrows #行数 data=[] for i in range(nrows): columnValueRow_temp=sh.row_values(i) data.append(columnValueRow_temp) return data data1=xlsread(filename) #list
data2=np.array(data1) #转为numpy的数组
filename1=”C:\Users\CAMPUFIX\Desktop\p-models\data23.xlsx”#写入的文件名 def xlswrite(data2,filename1): #输入的是numpy的array格式 wbk=xlwt.Workbook() sheet1=wbk.add_sheet(‘sheet1’) shape=data2.shape for i in range(shape[0]): for j in range(shape[1]): sheet1.write(i,j,data2[i,j]) wbk.save(filename1) xlswrite(data2,filename1)
如果有更好的方法,希望能不吝赐教,因为我只是个python初学者,可能原本就有很方便的函数,只是我没找到而已.