如何用不同长度的字符串将txt导入matlab?

时间:2015-05-27 18:31:43

标签: matlab

我想导入一个txt文件,文本中有很多列。

delimiterIn = ',';
C=importdata('userdata.txt',delimiterIn);

如果用户data.txt中没有字符串,则此方法有效,但实际上我将字符串作为用户名。例如,真实行如下:142,'A266KTWY0HBD2F',143,'A1RROEUFR0F2DU',144,'AX4ZTKCHL6OXA',用户名字符串长度不完全相同,我怎么能将字符串导入到matlab?感谢。

2 个答案:

答案 0 :(得分:0)

您可以使用textscan来处理任意删除的字符串。字符串存储在单元格数组中,因此它们可以具有不同的长度。

MathWorks reference相当完整。

答案 1 :(得分:0)

正如Mozglubov提到的那样使用文本扫描。在您的情况下,您只有整数和字符串,因此使用以下内容:

fileID = fopen('userdata.txt', 'r');
C = textscan(fileID,'%d %s %d %s %d %s', 'Delimiter',',');
fclose(fileID);

如果你有双打而不是整数,请使用%f而不是%d。请查看Matworks textscan参考,了解该功能的详细属性。