java - 如何根据文件中的数据类型从 CSV 文件中读取 2 个 ArrayList?
问题描述
我是 java 的初学者,我不知道如何从 CSV 文件读取到 2 个 ArrayLists,可能使用令牌和。类型。(list->Array) 根据我们添加到一个列表或另一个列表的标记。
更新:文件的格式是固定的。这是格式:
安德鲁,尼克,11,钢笔,苹果,背包,5500.0,570.0,4700.0
前任:
名称、描述、55.0、100.0
命名为字符串的 ArrayList。
55.0 变成一个 Double 的 ArrayList;
这是我的代码,我首先想弄清楚基本的。
public class CSVRead {
public static void main(String[] arg) throws Exception {
BufferedReader CSVFile = new BufferedReader(new FileReader("Auto2.csv"));
String data= CSVFile.readLine();
while (data != null){
String[] dataArray = data.split(",");
for (String item:dataArray) {
System.out.print(item + "\t");
}
System.out.println();
data = CSVFile.readLine();
}
CSVFile.close();
System.out.println();
}
}
解决方案
你可以试试下面的代码。作为示例,我将索引零作为名称字段,将索引六作为您需要的双精度值。根据格式,您可以获得实际的字段索引并将其添加到您的列表中。
public void loadData() throws IOException {
List<String> namesList = new ArrayList<>();
List<Double> someDoubleList = new ArrayList<>();
BufferedReader CSVFile = new BufferedReader(new FileReader("/Users/leon/Desktop/Auto2.csv"));
String data = CSVFile.readLine();
while (data != null) {
String[] dataArray = data.split(",");
// Add the names to string list as the index of it is zero
namesList.add(dataArray[0]);
// Add the double value to double list as the index of it is six.
someDoubleList.add(Double.parseDouble(dataArray[6]));
data = CSVFile.readLine();
}
CSVFile.close();
}
推荐阅读
- javascript - 对 iQuery 方法 .css() 使用多个值会引发错误:'missing )'。然而它并没有丢失
- javascript - 拖放在由 DOM 创建的项目上返回“null”
- c++ - “轻推”服务器以保持连接打开的简单方法?
- html - HTML5 输入模式属性 - 正则表达式失败
- python - 聚类后会发生什么
- css - 如何响应地将 CSS 网格模板列转换为行
- spring-boot - 与 Camunda 集成的 Spring Boot 独立应用程序可以使用来自 JbossFuse 的 JMS 消息吗?
- javascript - Jest/Enzyme - TypeError: div.find 不是函数
- java - 如何在 IntelliJ-IDEA 中自动构建?
- youtube - 如何在不使用搜索的情况下查找 youtube 频道当前是否正在直播?