Matlab 的导入工具将一列识别为数字,但在 formatSpec 中生成 %s
Matlab's Import Tool recognizes a column as numbers but generate %s in formatSpec
我使用 Matlab 的 Import Tool 生成一个脚本,用于导入多个具有相同列的 CSV 文件。
导入工具成功识别了我的 CSV 文件中每一列的类型:
但是,在生成的脚本中,同一列被转换为字符串(%s
= 字符串):
知道为什么吗?
令人惊讶的是,它适用于列数较少的 CSV 文件(它适用于 70 列的 CSV 文件,但问题出现在 120 列的 CSV 文件上)。 Here is one example of a CSV file that triggers the issue。
我将 R2014b x64 与 Windows 7 SP1 x64 Ultimate 一起使用。
发生这种情况是因为您文件中的其中一列包含包含数字和文本的数据。导入工具预测您将要从此字段中提取数字,因此它将列标记为 'NUMBER'。但是,标准文本扫描不允许这样做,因此导入工具必须生成代码以将所有数据作为文本读入,然后再进行数字转换。导入工具正在尝试使用 textscan 帮助避免错误。
运行 生成代码的结果仍然是数字,如导入工具中所示。
特定列在您的示例文件中标记为 SEGMENT_ID。它包含如下数据:
l8K3ziItQ2pRFQ8
L79Y0zA8xF7fVTA
JYYqCCwRrigaUmD
我使用 Matlab 的 Import Tool 生成一个脚本,用于导入多个具有相同列的 CSV 文件。
导入工具成功识别了我的 CSV 文件中每一列的类型:
但是,在生成的脚本中,同一列被转换为字符串(%s
= 字符串):
知道为什么吗?
令人惊讶的是,它适用于列数较少的 CSV 文件(它适用于 70 列的 CSV 文件,但问题出现在 120 列的 CSV 文件上)。 Here is one example of a CSV file that triggers the issue。
我将 R2014b x64 与 Windows 7 SP1 x64 Ultimate 一起使用。
发生这种情况是因为您文件中的其中一列包含包含数字和文本的数据。导入工具预测您将要从此字段中提取数字,因此它将列标记为 'NUMBER'。但是,标准文本扫描不允许这样做,因此导入工具必须生成代码以将所有数据作为文本读入,然后再进行数字转换。导入工具正在尝试使用 textscan 帮助避免错误。
运行 生成代码的结果仍然是数字,如导入工具中所示。
特定列在您的示例文件中标记为 SEGMENT_ID。它包含如下数据:
l8K3ziItQ2pRFQ8 L79Y0zA8xF7fVTA JYYqCCwRrigaUmD