MATLAB 如何导入.txt文本

在matlab GUI的学习中,需要导入各种格式的.txt文件,心血来潮想总结一波。
首先,利用uigetfile选择文件位置,代码命令如下:

[filename, pathname] = uigetfile({'*.xls;';'*.txt';'*.xlsx;'; },  '导入数据',...'MultiSelect','off');                      % 不允许同时选择多个文件
if isequal(filename,0)disp('User selected Cancel')
elsedisp(['User selected', fullfile(pathname, filename)])     %当返回了一个文件的时候,可以用fullfile将路径和文件名组合起来
end

在此列举一种比较复杂的情况,有中文表头的数据文件(在此列举滚动轴承的信号数据,数据量比较大):

MATLAB 导入.txt文本的几种方式:

1.fopen搭配textscan

file=fullfile(pathname, filename);      % 导入.txt文件
f=fopen(file);    %以只读模式打开混合格式文本文件
dt=textscan(f,'%s');         %采用textscan 读取数据

对于数据量大的文本文件推荐使用textscan,不推荐使用textread函数读取数据。
在此种情况下,导入的数据格式如下:

可以自行调整得到文本及数据。代码如下(可能不甚高明,欢迎小伙伴指教):
因为涉及到cell型数据向double类型的数据转换,略有一丢丢麻烦。

FaultLayer=dt{1,1}(1:f);
A=transpose(str2num(char(dt{1,1}(f+1:end))));
for ilength=1:(length(dt{1,1})/f-1)data(ilength,1:4)=A((ilength-1)*f+1:ilength*f);
end

得到结果如下:

2.利用impordata导入数据

datatable = importdata(file);                %加载txt数据(只导入数据)
data = datatable.data;                           %读取非元胞的数据

此代码只导入数据,格式与.txt文本文件相同,与上一方法经过转换后得到的格式相同,如下图所示,对于只导入数据的文本文件十分简便。

3.采用load函数

貌似只能导入数据文件,这个不是十分清楚。

file=fullfile(pathname, filename);         % 导入.txt文件
num=load(file) ;
[m,n]=size(num);

导入的数据如下图所示:

最后提醒一点,当导入.txt文本时,中文出现乱码时,在前面添加以下代码即可解决。

feature('DefaultCharacterSet', 'UTF8'); % 使得matlab支持utf-8编码

另外,我之前编写GUI代码的时候,对于可以导入.txt和.xls的多种文件格式的处理感到十分疑惑,具体的数据处理并不相同,如何才能区别导入的是何种文件呢?最后我瞎搞,弄了一个复杂的方法解决,希望有小伙伴告诉我怎么解决(期待.jpg)

if isempty(findstr(filename,'.txt'))==0     % 为空,结果为1feature('DefaultCharacterSet', 'UTF8'); % 使得matlab支持utf-8编码file=fullfile(pathname, filename);         % 导入.txt文件f=fopen(file);    %以只读模式打开混合格式文本文件,列数dt=textscan(f,'%s');                                 %采用textscan 读取数据FaultLayer=dt{1,1}(1:f);A=transpose(str2num(char(dt{1,1}(f+1:end))));for ilength=1:(length(dt{1,1})/f-1)data(ilength,1:4)=A((ilength-1)*f+1:ilength*f);endflag_load=true;elseif (isempty(findstr(filename,'.xlsx'))==0||isempty(findstr(filename,'.xls'))==0 )[num,txt,raw] = xlsread(filename,-1);                    %导入.xlsx文件 或.xls文件  [m,n]=size(num);flag_load=true;elsestring=strcat(pathname,filename);errordlg(string+"读取失败,请检查文件格式!",'错误提示');end
end

第一篇文章就这样吧!以后要继续加油噢!奥里给!

MATLAB 如何导入.txt文本相关推荐

  1. matlab:导入txt数据

    matlab:导入txt数据 Matlab导入txt数据的具体步骤如下: 打开Matlab软件,在命令窗口中输入以下命令,打开导入工具: importdata 在弹出的导入工具对话框中,选择需要导入的 ...

  2. matlab如何导入txt和excel文件

    matlab如何导入txt和excel文件 经常做数模题会用到导入数据到matlab里面去,很多小伙伴不会导入,现在我将代码放出来供大家参考: 导入txt文件 代码: load filename.tx ...

  3. Matlab批量导入txt、excel等文件

    将  F:\admin\stress-strain\  修改为自己文件夹位置 默认导入txt,其余格式文件小修即可 clc;clear path = 'F:\admin\stress-strain\' ...

  4. MATLAB从入门到精通-如何用matlab来提取txt文本中的实验数据

    前言 关于MATLAB系列的精品专栏大家可参见 MATLAB-30天带你从入门到精通 MATLAB深入理解高级教程(附源码) 喜欢的小伙伴可自行订阅,你的支持就是我不断更新的动力哟! 从实验仪器拷贝下 ...

  5. matlab如何导入多文本数据,将文本文件中的混合数据导入表

    样本文件概述 样本文件 outages.csv 包含表示美国电力中断的数据.文件的前几行如下: Region,OutageTime,Loss,Customers,RestorationTime,Cau ...

  6. 易语言保存txt记录至c盘,易语言超级列表框导入TXT文本后修改保存和新增记录...

    .版本 2 .支持库 iext .程序集 窗口程序集_启动窗口 .子程序 __启动窗口_创建完毕 .局部变量 读到的, 文本型 .局部变量 第一次分割, 文本型, , "0" .局 ...

  7. plsql导入txt文本数据是乱码_PL/sql导入sql文件中文乱码解决办法

    从别处接过来的pl/SQL导出文件XX.sql文件,用pl/sql工具中的import功能导入到本地库后,发现表的comment注释中文乱码,可通过以下办法解决,特记录如下: 1)进入pl/sql安装 ...

  8. 在EXCEL中导入txt文本数据

    工具栏:数据-->自文本

  9. 关于如何在matlab中导入并翻译Hypemesh导出的大型刚度矩阵txt文本

    刚度矩阵是有限元计算中最重要的矩阵,它是一个典型的对称稀疏矩阵,并且非零元素全部集中 前言 在对角线附近,稀疏矩阵就是零元素远大于非零元素的数目,所谓大型刚度矩阵.这里指稀疏矩阵中非零元素的数目有50 ...

  10. Navicat怎样导入Excel表格和txt文本的数据

    Navicat怎样导入Excel表格数据 1. 准备excel数据表,第一行是字段名,第二到五行是数据 (1.当需要存储的字段为null时,对应的单元格不写  2.注意数据是在哪个工作表中,例如:下面 ...

最新文章

  1. win10鼠标灵敏度怎么调_和平精英最稳压枪灵敏度怎么调教程,适合所有段位以及适合国际版PUBG手游压枪...
  2. 《Linus Torvalds 自传》摘录
  3. DD来拜年送红包啦!
  4. java文字转语音支持ubuntu系统_微信内测语音进度条,60秒语音终于有救了?腾讯:并没有...
  5. 苹果怎么关闭系统自动更新_你经过我的同意了吗?论手机系统自动更新
  6. [ app.json 文件内容错误] app.json: [“usingComponents“][“van-button“]: “@vant/weapp/button/index“ 未找到
  7. linuxpython源文件_如何在Linux中运行Python源文件
  8. [C++] STL标准模板库
  9. 解决办法:RuntimeError: dictionary changed size during iteration
  10. Android Killer反编译apk报错
  11. cs61a 课时笔记 对象的抽象
  12. Server 2008 R2 事件查看器实现日志分析
  13. 基于Matlab的数字水印设计
  14. SqlServer中的Top * With Ties
  15. STM32CubeMX | 31-使用硬件FMC读写SDRAM(W9825G6KH)
  16. java 委派关系_一文读懂java类加载之双亲委派机制
  17. memoized函数
  18. c8051f c语言编程,C8051F SPI接口读写c程序
  19. MES系统具有哪些优势
  20. 小程序小游戏更新机制总结

热门文章

  1. mro python_Python之super与MRO
  2. 关于String类的split方法
  3. java 实验室预约系统_基于Java的实验室预约管理系统
  4. cm-14.1 Android系统启动过程分析(二)-Zygote进程启动过程
  5. 2016年总结:教师路的开启,爱情味的初尝 (下)
  6. 安卓手机密码工作原理及破解方式
  7. 云服务器里存放数据安全吗
  8. linux 活动主分区,主引导扇区(MBR),分区表(DPT)及活动分区(DBR) | 技术部落
  9. hapi入门之Authentication篇
  10. 算法及其复杂性分析整理