如何在Matlab中加载字符串列表txt文件并解决load函数报错问题
报错原因
load函数仅支持读取纯数值文本文件或MATLAB专属的.mat格式数据,无法直接解析带引号的字符串列表,因此会触发未知文本报错。
解决方法
方法1:R2020b及以上版本(最简方案)
直接使用readlines逐行读取所有内容,再去除首尾引号即可:
% 逐行读取txt内容,返回字符串数组 x = readlines("list.txt"); % 去除每个字符串两端的双引号 x = strip(x, '"');
方法2:R2016b及以上版本
使用readcell读取为元胞数组或字符串数组:
% 读取为字符串数组 x = readcell("list.txt", 'TextType', 'string'); x = strip(x, '"');
方法3:更早版本兼容方案
使用低级IO接口逐行读取:
fid = fopen('list.txt', 'r'); x = []; while ~feof(fid) line = fgetl(fid); if ischar(line) % 去掉两端引号后存入数组 x = [x; {strip(line, '"')}]; end end fclose(fid);
运行后x就是包含所有基因ID的数组,可直接用于后续分析。
内容的提问来源于stack exchange,提问作者Geinkehdsk
相关产品推荐
相关产品推荐

