首先,我不希望你们中的任何人为我编写代码。我不想被误解。如果你只是想举个例子,那也没关系。
假设我有一个 csv 数据表(逗号分隔),如下所示:
>Temp Press Vf Vg Uf Ug
>50 140 0,5 2,5 1,7 2,6
>60 145 0,502 2,6 1,8 2,68
它会持续 10 列和 200 行。如何逐列存储一行的值?
为了说明,我想获得 60 摄氏度的行。程序查找并记录的其他值如 p1=145, vf1=0.502, Vg1=2.6, Uf1=1.8 ...
注意:它不仅适用于“temp”。在其他情况下,已知值可能是“Vf”。
我已经搜索了 3 天,但找不到与我想要的完全相同的东西。总是缺少一些东西。
最佳答案
假设您没有使用任何 API。
创建一个代表 CSV 文件的一个条目的类:
public class MyClass {
private int temp;
[...]
public static MyClass createFromCsvEntry(String csvLine) {
[...]
}
}
解析 CSV 文件的数据并将单个条目添加到列表中。您现在可以对这些条目执行搜索:
public class MyClassDao {
private List<MyClass> data;
[...] // parsing CSV file and add the entries to data list
public List<MyClass> searchByTemp(int temp) {
List<MyClass> result = new ArrayList<>();
for (MyClass mc : data) {
if (mc.getTemp().equals(temp)) {
result.add(mc);
}
}
return result;
}
public List<MyClass> searchByAnyOtherValue(...) {
[...]
}
}
当然如果还有其他非功能性需求,比如性能等,这个方案可能不是正确的选择。
关于Java:如何通过给定值获取特定行?(.csv),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21966509/