我有一个 .txt 文件,其中包含一些值(已附上)。我需要对每一列数据执行平均和求和运算。读取文件后我无法访问列数据。 Data file
public class EEG {
public static void main(String[] args) {
String pathToCsv = "C:\\Users\\Raghu\\Desktop\\EEG files\\testEEGData.txt";
List<String> l2 = new ArrayList<>();
l = readFileInList(pathToCsv);
for(int i = 0; i < 1; i++)
System.out.println(l.get(i));
// I want to performe operation here, like sum and average of first column
public static List<String> readFileInList(String fileName)
{
List<String> lines = Collections.emptyList();
try
{
lines = Files.readAllLines(Paths.get(fileName), StandardCharsets.UTF_8);
}
catch (IOException e)
{
e.printStackTrace();
}
return lines;
}
最佳答案
用逗号分割字符串并将第一个元素视为数字:
double value = Double.parseDouble(l.get(i).split(",")[0]);
映射列表:
List<Double> numbers = l.stream()
.map(line -> Double.parseDouble(line.split(",")[0]))
.collect(Collectors.toList());
并且可以计算总和:
numbers.stream().reduce(Double::sum)
放在一起:
List<String> l = readFileInList(pathToCsv);
List<Double> numbers = l.stream()
.map(line -> Double.parseDouble(line.split(",")[0]))
.collect(Collectors.toList());
Double sum = numbers.stream().reduce(Double::sum).get();
Double avg = sum / numbers.size();
关于java - 如何访问Java数组中的第一列数据并分配给另一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58539450/