作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为我学校的棒球教练进行蒙特卡洛模拟。我当前想做的是使用 BufferedReader 读取文本文件(这本身就是一个完整的其他问题,但我可以解决这个问题),然后通过返回分割所有行(我已经这样做了) )但是从那里,我想从应该创建的每个数组中,我想用逗号分隔每个数组,所以对于棒球队的每个球员,我都会为他们创建一个单独的数组。谢谢!- 帕克
我不太确定从哪里开始,所以我已经到达了我所说的地方,但陷入了困境,所以还没有真正能够尝试任何东西。
public Main() throws IOException {
String[] playerstats = null;
String playername = null;
FileReader fr = new FileReader("MHS_Baseball_Season_Stats_19_csv.txt");
@SuppressWarnings("resource")
BufferedReader br = new BufferedReader(fr);
int lines = 0;
String[] Playerstats = null;
while (br.readLine() != null) {
lines++;
}
for (int i = 0; i < lines; i++) {
playername = Files.readAllLines(Paths.get("MHS_Baseball_Season_Stats_19_csv.txt")).get(i);
playerstats = playername.split("\\R");
for (int j = 0; j < playerstats.length; j++) {
System.out.println(playerstats[j]);
Playerstats = playerstats[j].split(",");
}
}
System.out.println(Playerstats[148]);
}
最佳答案
实际上相当简单:将行读入列表中,然后通过以逗号分隔将每行转换为自己的列表。您的结果应该是一个列表列表(我总是鼓励使用列表而不是数组)。
final String filename = "MHS_Baseball_Season_Stats_19_csv.txt";
List<String> lines = Files.readAllLines(Paths.get(fileName));
List<List<String>> playerStats = new ArrayList<>(lines.size());
for (String line : lines) {
String[] lineValues = line.split(",");
playerStats.add(Arrays.asList(lineValues));
}
现在 CSV 文件已转换为字符串列表的列表,例如,要获取第一行的第三列,您需要这样做
String value = playerStats.get(0).get(2); // first row, third column
关于java - 如何用逗号分割某些内容,将其放入数组中,然后将分割后的数组放回字符串中,然后按行分割回数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56210541/
我是一名优秀的程序员,十分优秀!