java - 如何将某些数据从 csv 文件添加到 ArrayList
问题描述
我有三个 *.csv 文件,我正在使用一个界面来比较对象。
我的问题是:如何仅将某些数据添加到数组列表中?
例如,我只需要items[1]
which is yearID
, items[2]
which is teamID
, items[11]
which is homeRuns
, items [12]
which is RBI
value。
如何将它们添加到arrayList
同时仍然使它们成为Batter
类中的值,然后将数组列表传递给另一个类?这是文件的前两行
击球.cvs
playerID yearID stint teamID lgID G AB RH 2B 3B HR RBI SB CS BB SO IBB HBP SH SF GIDP abercda01 1871 1 TRO NA 1 4 0 0 0 0 0 0 0 0 0 0
Batter.java `
import java.util.ArrayList;
import java.util.Scanner;
public class Batter extends Player{
private int YearID;
private String TeamID;
private int HomeRuns;
private int RBI;
public Batter(int yearID, String teamID, int homeRuns, int rBI) {
super();
YearID = yearID;
TeamID = teamID;
HomeRuns = homeRuns;
RBI = rBI;
}
Batter() throws Exception{
ArrayList<String> battingData= new ArrayList<String>();
ArrayList<String> masterData= new ArrayList<String>();
ArrayList<String> pitchingData= new ArrayList<String>();
Scanner myScan1= new Scanner(new File("Batting.cvs"));
while(myScan1.hasNext()) {
while(myScan1.hasNext()) {
battingData.add(myScan1.nextLine());
String line= myScan1.nextLine();
String items[]= line.split(",")
for( int i= 0; i<battingData.size(); i++){
battingData.add(new Players(Integer.parseInt(items[0]));
}
}
}
玩家.java
import java.util.ArrayList;
import java.util.Arrays;
public class Players {
private ArrayList Player[];
public Players (String BatData, String PitData,String MasterData) {
}
}
解决方案
几个重要的点。您不必要地循环 myScan1.hasNext() 两次。当您调用 nextLine 两次时,您还丢弃了一行。我在下面提出了一个关于如何实现你想要的建议的建议。
while (myScan1.hasNext()) {
String line = myScan1.nextLine();
battingData.add(line);
String items[]= line.split(",")
for( int i= 0; i<battingData.size(); i++){
String yearID = items[1];
String teamID = items[2];
String homeRuns = items[11];
String rbi = items[12];
// do what you need to do with these variables
}
}
推荐阅读
- java - 如何在android Java中设置弹出窗口的高度
- wordpress - Woocommerce - 以编程方式添加折扣后 update_order_review 变为 502
- python - 使用 Python 从 Azure 容器读取文件的动态文件路径?
- javascript - 仅使用 javascript 和 html 为 json API 创建搜索栏?
- python-3.x - 你可以通过 pygithub 删除一个 repo 吗?
- python-3.x - 如何在另一个列表中获取列表的值?
- perl - 如何使用 perl 提升文件夹级别?
- c# - 集成docusign并生成访问令牌c#
- python - 如何在 pandas DataFrame 的每一行上运行一个函数
- html - 为什么添加 CSS 后两个 html 元素没有对齐?