You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Weka CSVLoader加载CSV文件时遇setSource无法解析错误

解决Weka CSVLoader中setSource无法解析的问题

错误原因

  1. 代码位置违规:你把CSV加载的方法调用(比如loader.setSource())直接写在了类的成员变量区域,Java不允许在类体中直接执行这类方法调用语句,必须将其放在方法、构造器或代码块内部。
  2. 未处理强制异常:setSource()和getDataSet()方法会抛出通用异常,必须显式捕获或声明抛出,否则编译无法通过。
  3. (可选)若上述修复后仍报错,大概率是Weka依赖未正确引入,导致IDE无法识别类的方法。

修复代码示例

方案1:将加载逻辑移入main方法

import weka.core.Instances;
import weka.core.converters.CSVLoader;
import java.io.File;
@SpringBootApplication
public class Demo3Application {

    public static void main(String[] args) {
        SpringApplication.run(Demo3Application.class, args);
        
        // 加载CSV逻辑移至main方法内,并添加异常处理
        try {
            CSVLoader loader = new CSVLoader();
            // 注意检查文件名:你写的是testdata3.csv.csv,确认是否存在重复后缀
            loader.setSource(new File("C:\\Users\\user\\IdeaProjects\\demo3\\testdata3.csv.csv"));
            Instances data = loader.getDataSet();
            // 此处可添加数据集的后续处理代码
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

方案2:用SpringBoot的CommandLineRunner执行(更符合框架规范)

如果是SpringBoot项目,推荐将初始化逻辑放到Runner类中,项目启动后自动执行:

import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
import weka.core.Instances;
import weka.core.converters.CSVLoader;
import java.io.File;

@Component
public class CsvLoaderRunner implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        CSVLoader loader = new CSVLoader();
        loader.setSource(new File("C:\\Users\\user\\IdeaProjects\\demo3\\testdata3.csv.csv"));
        Instances data = loader.getDataSet();
        // 处理加载完成的数据集
    }
}

依赖检查(若问题仍存在)

确保项目已正确引入Weka依赖:

  • Maven项目(pom.xml):
<dependency>
    <groupId>nz.ac.waikato.cms.weka</groupId>
    <artifactId>weka-stable</artifactId>
    <version>3.8.6</version> <!-- 可替换为最新稳定版本 -->
</dependency>
  • Gradle项目(build.gradle):
implementation 'nz.ac.waikato.cms.weka:weka-stable:3.8.6'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 09:40:21