Java读取csv类型文件

导读

做实验经常会遇到需要读取文本类型的实验数据集,有时候没有sklearn或者weka那种自带输入输出的框架需要手写输入输出,因此做一个记录。

文件类型示意

以经典的天气预测数据集的txt类型为例,分隔符为空格或者逗号皆可:

OutLook Temperature Humidity Wind PlayTennis
Sunny Hot High Weak No
Sunny Hot High Strong No
Overcast Hot High Weak Yes
Rainy Mild High Weak Yes
Rainy Cool Normal Weak Yes
Rainy Cool Normal Strong No
Overcast Cool Normal Strong Yes
Sunny Mild High Weak No
Sunny Cool Normal Weak Yes
Rainy Mild Normal Weak Yes
Sunny Mild Normal Strong Yes
Overcast Mild High Strong Yes
Overcast Hot Normal Weak Yes
Rainy Mild High Strong No

代码

package Utils;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;

public class readTXT {

    public static void main(String[] args) throws Exception{
        //文件地址
        String filePath = "src/这里改成具体的包名/input.txt";
        //生成对象
        File file = new File(filePath);
        //文件行数量
        int rowNum=0;
		//临时变量
        String str1;
        BufferedReader cal = new BufferedReader(new FileReader(file));
        while ((str1 = cal.readLine()) != null) {
            rowNum++;//计算行数
        }
        cal.close();
		//存储TXT的数组
        String[][] TXT = new String[rowNum][];
        BufferedReader in = new BufferedReader(new FileReader(file));
        String str;
        String[] array;
        int i=0;
        while ((str = in.readLine()) != null) {
            array = str.split(" ");//如果是csv一般就改成逗号、tab、减号等
            TXT[i] = array;
            i++;
        }
        in.close();
		//打印展示
        for(int row=0;row<rowNum;row++){
            for(int j=0;j<TXT[0].length;j++){
                System.out.print(TXT[row][j]+" ");
            }
            System.out.println();
        }
    }
}

运行结果展示

IDEA运行结果展示

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java可以使用CSV文件读取库来读取CSV文件,其中常用的库包括OpenCSV和Apache Commons CSV。 1. 使用OpenCSV OpenCSV是一个流行的CSV文件读取库,它可以从文件读取CSV数据并将其转换为Java对象。以下是使用OpenCSV读取CSV文件的示例代码: ```java import com.opencsv.CSVReader; import java.io.FileReader; import java.io.IOException; public class CSVReaderExample { public static void main(String[] args) throws IOException { CSVReader reader = new CSVReader(new FileReader("data.csv")); String[] line; while ((line = reader.readNext()) != null) { for (String value : line) { System.out.print(value + " "); } System.out.println(); } reader.close(); } } ``` 在上面的代码中,我们创建了一个CSVReader实例并将其与CSV文件连接。然后,我们使用readNext()方法逐行读取CSV文件,并将每行的值存储在一个String数组中。最后,我们遍历String数组并输出每个值。 2. 使用Apache Commons CSV Apache Commons CSV是另一个流行的CSV文件读取库。以下是使用Apache Commons CSV读取CSV文件的示例代码: ```java import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVParser; import org.apache.commons.csv.CSVRecord; import java.io.FileReader; import java.io.IOException; public class CSVReaderExample { public static void main(String[] args) throws IOException { CSVFormat format = CSVFormat.DEFAULT.withHeader().withDelimiter(','); CSVParser parser = new CSVParser(new FileReader("data.csv"), format); for (CSVRecord record : parser) { String name = record.get("Name"); int age = Integer.parseInt(record.get("Age")); String email = record.get("Email"); System.out.println(name + ", " + age + ", " + email); } parser.close(); } } ``` 在上面的代码中,我们使用CSVFormat类定义CSV文件的格式。然后,我们创建了一个CSVParser实例并将其与CSV文件连接。使用CSVRecord类,我们可以逐行读取CSV文件并将其转换为Java对象。在本例中,我们使用get()方法访问每个字段的值,并将其转换为相应的Java数据类型。最后,我们输出每个记录的值。 这些是使用Java读取CSV文件的两种常见方法。你可以选择你喜欢的方法,根据需要进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值