You need to enable JavaScript to run this app. 咨询Scilab csvRead批量读取Pene_n.txt及矩阵无表头覆写方法
优惠活动
大模型
产品
解决方案
定价
更多

咨询Scilab csvRead批量读取Pene_n.txt及矩阵无表头覆写方法

问题修正方法

代码跑不通的两个核心原因

  • listfiles 匹配参数错了:现在代码里传的"pene.txt"是精确匹配单个固定文件,根本搜不到所有Pene_n.txt格式的文件,换成通配符"Pene_*.txt"就能匹配到所有n为数字的目标文件。
  • csvRead 的文件路径构造不对:Scilab 不支持("格式串",变量)这种写法生成文件名,你现在写的那行本质是个元组表达式,根本不是合法的文件路径,必须用msprintf把占位符格式和循环变量拼接成实际的文件名字符串,再传给读文件函数。

无表头场景下的矩阵覆盖

因为读入的本身就是无表头的纯数据矩阵,不需要做跳过表头的行列偏移,直接对矩阵变量赋值就能覆盖原有旧数据,根本不需要找什么特殊简便命令。如果需要把多个文件的读入结果合并成总矩阵,直接按纵向/横向拼接矩阵即可。


可直接运行的修正代码

// 检索所有目标格式的文件
file_list = listfiles("Pene_*.txt");
file_count = size(file_list, "r");
Data = []; // 预初始化变量,避免循环中调用时报未定义错误
for i = 1:file_count
    // 拼接当前循环对应的实际文件名
    file_name = msprintf("Pene_%d.txt", i);
    temp_data = csvRead(file_name, ";", "", "string");
    // 按实际需求选逻辑:
    // 逐文件覆盖原有矩阵内容:
    // Data = temp_data;
    // 多文件纵向拼接为总矩阵:
    Data = [Data; temp_data];
end

内容的提问来源于stack exchange,提问作者kubas126

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.24 12:45:04