matlab读取文件xlsfinfo,Matlab读写excel文件函数
Matlab读写excel文件函数
(2010-06-10 21:33:44)
标签:
it
Matlab读写excel文件函数
Matlab读写excel文件函数:xlsread和xlswrite(转载)
在实验编程中产生了需要将matlab运行的试验结果写入
excel,从excel中读数据的要求,这样就需要用到matlab操作excel表格的相关函数:xlsfinfo,xlsread和
xlswrite。
我的应用实例:
对如下文件数据处理转化:test.txt[code]
================25-Jul-2008 10:07:25 ===============
jink2005stop
H R S
T H R
S C H
R S M
H R S
N H R
S Q H
R S D
jink2005start
GGGY
-108.766778 172.092305
GGGT
-64.567515 132.922390
GGGE
-73.388772 -149.940032
GGGH
58.886619 -43.304309
GGAG
0.000000 0.000000
GGAP
0.000000 0.000000
GGAT
0.000000 0.000000
GGAM
-89.880662 -4.051511
GGAN
66.886988 28.233579
jink2005stop
[/code]转存到test.xls的程序:[code]
function countResult(filename, xlsfile)
% 读取CSAResult.txt文件,统计到Excel表格中
% xlsRow为本文件写到excel文件excelResult.xls的起始行
fid = fopen(filename);
% Excel = actxserver('Excel.Application');
fRow = 0;
sheet = 1;
xlsRow = 1;
% 找出要用数据的第一行(jink2005start下面)
tline = strtrim(fgetl(fid));
matches = findstr(tline, 'jink2005start');
while feof(fid) == 0 & length(matches) == 0
tline = strtrim(fgetl(fid));
matches = findstr(tline, 'jink2005start');
end
seq = 'xxxx';
while feof(fid) == 0
tline = strtrim(fgetl(fid));
matches = findstr(tline, 'jink2005stop');
if length(matches) >
0 %找到停止行标识,则开始再次寻找下面start处
tline = strtrim(fgetl(fid));
matches = findstr(tline, 'jink2005start');
while feof(fid) == 0 & length(matches) == 0
tline = strtrim(fgetl(fid));
matches = findstr(tline, 'jink2005start');
end
elseif length(tline) == 4
seq = tline;
elseif length(tline) ~= 0
% 开始将angle、seq写入excel表格
[token, rem] =
strtok(tline); %使用默认的空格分割字符串,第一个空格前在token里,剩下在rem里
M(1, 1) = {str2num(token)};
M(1, 2) = {str2num(rem)};
M(1, 3) = {seq};
if xlsRow > 60000
sheet = sheet + 1;
xlsRow = 1;
end
xlswrite(xlsfile, M, strcat('Sheet', num2str(sheet)), strcat('A',
num2str(xlsRow)));
xlsRow = xlsRow + 1;
end
end
fclose(fid);
[/code]
运行方式如下:
[code]countResult('test.txt', 'test.xls'); [/code]
结果text.xls中的结果如下:
-108.766778 172.092305 GGGY
-64.567515 132.92239 GGGT
-73.388772 -149.940032 GGGE
58.886619 -43.304309 GGGH
0 0 GGAG
0 0 GGAP
0 0 GGAT
-89.880662 -4.051511 GGAM
66.886988 28.233579 GGAN
参考文献:
matlab帮助文档
[url=http://luobo.ycool.com/post.650879.html][b][color=#86aa42]将matlab求出的矩阵保存在Excel表格中[/color][/b][/url]
[url=http://luobo.ycool.com/post.650879.html]http://luobo.ycool.com/post.650879.html[/url]
jink2005 发表于 2008-8-10 12:50
程序改进:减少打开关闭excel次数,增加excel最大行限制处理
[code]
function countResult(filename, xlsfile)
% 读取CSAResult.txt文件,统计到Excel表格中
% xlsRow为本文件写到excel文件excelResult.xls的起始行
fid = fopen(filename);
% Excel = actxserver('Excel.Application');
sheet = 1;
xlsRow = 1;
% 找出要用数据的第一行(jink2005start下面)
tline = strtrim(fgetl(fid));
matches = findstr(tline, 'jink2005start');
while feof(fid) == 0 & length(matches) == 0
tline = strtrim(fgetl(fid));
matches = findstr(tline, 'jink2005start');
end
seq = 'xxxx';
mRow = 0;
while feof(fid) == 0
tline = strtrim(fgetl(fid));
matches = findstr(tline, 'jink2005stop');
if length(matches) >
0 %找到停止行标识,则开始再次寻找下面start处
tline = strtrim(fgetl(fid));
matches = findstr(tline, 'jink2005start');
while feof(fid) == 0 & length(matches) == 0
tline = strtrim(fgetl(fid));
matches = findstr(tline, 'jink2005start');
end
elseif length(tline) == 4
seq = tline;
elseif length(tline) ~= 0
% 开始将angle、seq写入excel表格
[token, rem] =
strtok(tline); %使用默认的空格分割字符串,第一个空格前在token里,剩下在rem里
mRow = mRow + 1;
M(mRow, 1) = {str2num(token)};
M(mRow, 2) = {str2num(rem)};
M(mRow, 3) = {seq};
% 每次M到达500行才写入excel减少开关excel操作
if mRow >= 500
if (xlsRow + 500) > 60000
sheet = sheet + 1;
xlsRow = 1;
end
xlswrite(xlsfile, M, strcat('Sheet', num2str(sheet)), strcat('A',
num2str(xlsRow)));
mRow = 0;
xlsRow = xlsRow + 500;
M = {};
end
end
end
% 文件读写结束M可能不足500行,将剩余M写入excel
xlswrite(xlsfile, M, strcat('Sheet', num2str(sheet)), strcat('A',
num2str(xlsRow)));
fclose(fid);
return
[/code]
jink2005 发表于 2008-8-14 15:23
我遇到过的问题
>>
countResult('CSAResult.txt');
??? Error using ==> xlswrite
Error: Object returned error code: 0x800A03EC
Error in ==> countResult at 38
xlswrite('excelResult.xls', M, strcat('A',
num2str(xlsRow)));
——Matlab7.0中提供的可以省略工作表参数的使用方法,好像不对,我省略后,它将后面的表格range作为表明来使用。工作表参数可能不能省略。
>> countResult('CSAResult.txt',
1);
??? Invoke Error, Dispatch Exception:
Source: Microsoft Office Excel
Description:
“excelResult.xls”为只读。要保存当前工作簿的副本,请单击“确定”按钮,在“另存为”对话框中为副本指定一个名称。
Help File: D:\Program Files\Microsoft
Office\OFFICE11\2052\xlmain11.chm
Help Context ID: 0
Error in ==> countResult at 38
xlswrite('excelResult.xls', M, 'Sheet1',
strcat('A', num2str(xlsRow)));
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。
matlab读取文件xlsfinfo,Matlab读写excel文件函数相关推荐
- python pandas读取excel-Python使用Pandas读写EXCEL文件教程
欢迎,来自IP地址为:211.103.135.163 的朋友 教程开始之前,我们需要首先了解一下什么是Excel,这有助于理解之后教程中的内容. 什么是Excel Excel 是微软出品的和款办公软 ...
- python openpyxl读取excel_Python使用openpyxl读写excel文件
这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 1.读取Excel文件 默认打开的文件为可读写,若有需要可 ...
- python怎么读excel文件-python如何读写excel文件
python读写excel的方式有很多,不同的模块在读写的方法上稍有区别: 用xlrd和xlwt进行excel读写: 用openpyxl进行excel读写: 用pandas进行excel读写: 为了方 ...
- 怎么用python处理excel文件-用Python读写Excel文件的方式比较
前段时间做一个项目,却不得不使用Python直接生成Excel文件,后来随着需求的变化,还要对已有的Excel文件进行读取.在这个过程中,研究并尝试了一些工具,也走了一些弯路.记录下来,下次再有类似需 ...
- python怎么读excel文件-用python读写excel文件
用python写excel文件 安装xlwt pip install xlwt 例子 #!/usr/bin/python # _*_ coding:utf-8 _*_ #--------------- ...
- python读取数据文件-python多种读写excel等数据文件的方式(收藏篇)
前言: python处理数据文件的途径有很多种,可以操作的文件类型主要包括文本文件(csv.txt.json等).excel文件.数据库文件.api等其他数据文件.下面小编整理下python到底有哪些 ...
- matlab读取xls、xlsx、csv文件
常常我们在matlab里需要读取excel数据文件或者保存matlab中矩阵的数据.但是直接在matlab里用xlswrite写出的文件实际上是csv格式,在matlab里无法用xlsread读取.笔 ...
- android读取excel文件_python里读写excel等数据文件的几种常用方式
python处理数据文件第一步是要读取数据,文件类型主要包括文本文件(csv.txt等).excel文件.数据库文件.api等. 下面整理下python有哪些方式可以读取数据文件. 1. python ...
- c语言从excal读取字符串,C语言操作EXCEL文件(读写)
C语言操作EXCEL文件(读写) 本文主要介绍通过纯C语言进行EXCEL的读写操作:(修改时间2018.08.28,如果运行结果均是0,请看文章最后一节) C语言读操作 C语言写操作 在之前需要使用C ...
- 【Matlab】将.mat文件转换为多个excel文件
将.mat文件转换为多个excel文件 最近在准备毕业论文,需要用到matlab,但是之前没学过,自己总结一些不太会的内容,有什么问题欢迎大佬们指导,感谢观看. 起因是想做BP神经网络的内容,尝试找代 ...
最新文章
- 百度信息流和搜索业务中的KV存储实践
- nodejs操作mysql创建库和表_Nodejs操作MySQL数据库
- 实现MFC中Radio Button组绑定同一变量控制
- Java 运行时的内存划分
- python绘制直角坐标系_小白学 Python 数据分析(16):Matplotlib(一)坐标系
- mongodb简单的函数
- 安卓访问mysql的源码_【原创源码】安卓数据库简单操作demo
- python实战项目书 题库系统_Python实战视频教程_基于Python项目与面试题实例讲解(进阶训练篇)...
- IP,TCP 和 HTTP
- 翻译:RealEyes OSMF Player Sample - 第二部分:建立和配置 (转载)
- Kotlin基础学习第3章—内置类型
- 最详细iOS打包流程
- matlab三维点云去除背景,一种点云处理三维重建方法与流程
- JS JSP HTML CSS概念
- 写一个php简单的递归函数
- Sparql与sql的比较
- DataPipeline丨LinkedIn元数据之旅的最新进展—Data Hub
- 计算机视觉——计算视差图
- Daily Pathtracer!安利下不错的Pathtracer学习资料
- Oracle 业务表自制审计字段使用