小记:好久没有更新博客了,以后尽量坚持写。今天用Python代码写了个小工具来提取和分割Excel表中的数据。写这个代码主要和自己的研究课题相关,每次手动提取贼麻烦,不如来个代码,有需要的可以根据自己的数据进行修改,本代码只提供一个思路。
- 研究课题:利用comsol仿真软件来跑光纤模型,从而导出与光纤有关的数据,其中数据的形式如下图所示
- 我尝试用提取复数的函数来进行分割,但是可能是因为后面的数据不是a+bi的形式,而是用科学计数法来表示的,所以尝试用长度来进行分割,主要思路就是二维矩阵的双重循环,将每一条数据转换成字符串,利用切片来提取前15位数字,也就是实部(虚部我不需要),最后所有数据循环完毕,将处理好的数据保存到表格中,代码如下:
-
import numpy as np import pandas as pd import xlwt filename='test_data' dataset = pd.read_excel(filename+'.xlsx', sheetname='Sheet1') dataset = dataset.values print(dataset) len1=len(dataset) len2=len(dataset[0:1,:][0]) dataset_t=np.zeros((len1,len2),dtype=float) for i in range(0,len1,1): for j in range(0,len2,1): #print(i,j,'#',dataset[i][j]) dataset[i][j]=str(dataset[i][j]) dataset_t[i][j]=dataset[i][j][0:14] print(dataset_t) workbook=xlwt.Workbook() sheet=workbook.add_sheet("Sheet") for x in range(len(dataset_t)): for y in range(len(dataset_t[x])): sheet.write(x,y,dataset_t[x][y]) new_filename=filename+'1' workbook.save(new_filename+'.xls')