我正在为我学校的棒球教练进行蒙特卡洛模拟。我目前正在尝试使用BufferedReader读取文本文件(这本身就是另一个问题,但是我可以解决),然后通过返回将所有行分开(我已经完成了),但从那里开始,我想从应该创建的每个数组中,以逗号分隔每个数组,因此对于棒球队的每个球员,我将为他们分配一个单独的数组。 谢谢! -帕克
我不确定自己从哪里开始,所以我已经到达我说过要去的地方,但是被卡住了,所以还没有真正能够尝试的东西。
cliente.connect((err,cliente)=>{
if(err){
console.error(err)
}
db = cliente.db('kalopa');
module.exports.db = db;
})
答案 0 :(得分:0)
实际上很简单:将行读入列表,然后通过用逗号分隔将每一行转换成自己的列表。您的结果应该是列表列表(我总是鼓励在数组上使用列表)。
await
现在CSV文件已转换为字符串列表列表,例如,要获取第一行的第三列,您可以这样做
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));
}
答案 1 :(得分:0)
这是一种使用BufferedReader读取文件,然后使用ArrayList存储每个玩家统计信息数组的解决方案
public Main() throws IOException {
List<String[]> playerStats = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader("MHS_Baseball_Season_Stats_19_csv.txt"))) {
String line = null;
while ((line = br.readLine()) != null) {
String[] stats = line.split(",");
playerStats.add(stats);
}
}
//example printing all stats for each player
for (String[] stats : playerStats) {
System.out.println(Arrays.toString(stats));
}
//example printing first element for each player
for (int i = 0; i < playerStats.size(); i++) {
System.out.println(playerStats.get(i)[0]);
}
}