【问题标题】:How to import txt with strings of different length into matlab?如何将不同长度字符串的txt导入matlab?
【发布时间】:2015-05-27 18:31:43
【问题描述】:

我要导入一个txt文件,里面有很多列。

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

如果用户 data.txt 中没有字符串,则此方法有效,但实际上我将字符串作为用户名。例如,像这样的真实行:142,'A266KTWY0HBD2F',143,'A1RROEUFR0F2DU',144,'AX4ZTCHL6OXA',用户名字符串长度不完全相同,我如何将字符串也导入matlab?谢谢。

【问题讨论】:

  • 撇号(单引号)实际上是在您的文件中,还是您添加它们来表示字符串?
  • 你的问题不够清楚。可以举一个简短的输入文件的例子,你期望导入后的结果是什么?

标签: matlab


【解决方案1】:

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

MathWorks reference 相当完整。

【讨论】:

    【解决方案2】:

    Mozglubov 提到使用 textscan。在您的情况下,您只有整数和字符串,因此请使用以下内容:

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

    如果您使用双精度而不是整数,请使用 %f 代替 %d。该函数的详细属性请查看 Matworks textscan 参考资料。

    【讨论】:

      猜你喜欢
      • 2012-06-02
      • 2013-01-13
      • 2012-12-23
      • 1970-01-01
      • 1970-01-01
      • 2015-03-12
      • 1970-01-01
      • 2014-02-16
      • 1970-01-01
      相关资源
      最近更新 更多