我想执行一些计算,添加一列,并将所有结果输出到一个CSV文件中。
目前,我有一个ArrayList<List<String>> sorted
,并且它包含多个List<String>
,输出的示例行如下所示(也是一个List<String>
):
[[024eb46690,1418599836,xx,xx,null, 31.622776601683796,
024eb46690,1418599970,xx,xx,null, 50.99019513592785,
024eb46690,1418600005,xx,xx,null, 1000.0,
024eb46690,1418600025,xx,xx,null, 1000.0,
024eb46690,1418600026,xx,xx,null, 50.99019513592785,
024eb46690,1418600208,xx,xx,null, 1000.0,
024eb46690,1418600934,xx,xx,null, 1000.0,
024eb46690,1418602301,xx,xx,null, 1000.0,
024eb46690,1418602926,xx,xx,null, 1000.0,
024eb46690,1418603034,xx,xx,null, 1000.0,
024eb46690,1418603175,xx,xx,null, 1000.0,
024eb46690,1418603267,xx,xx,null, 1000.0,
024eb46690,1418603343,xx,xx,null, 1000.0]]
xx
以后的数据,数据只是被审查。 我想使用逗号分隔数据,因此数据格式为id
,time
等等......
因此,所有数据行都有不同的id
。我想要的是将每一行添加到一个arraylist(每行包含一个不同的id
,因为我想在每个数据的末尾添加一个新列,然后将所有内容整理在一起然后输出到.csv文件中。所以输出应该是参考我的样本输出
024eb46690,1418603343,xx,xx,null, 1000.0, "new column"
新列中的值将是必须为每个id刷新的计算结果,这就是我想为每个不同的id创建新的arraylist的原因。我该怎么做呢?我有近九千行List<String>
s。
另外,这就是我得到的
for (List<String> sortedList : sorted) {
for (String s : sortedList) {
String delimiter = ",";
String[] splitString = s.split(delimiter);
String tempID = splitString[0];
}
}
但是因为对于我正在执行计算的部分,每个ID都需要一个新的arraylist来检查其他列中的重复项,所以我的方法只能对所有记录执行此操作。有没有我可以改进这个以获得我想要的东西?
答案 0 :(得分:0)
ArrayList<String> id_list;
for (List<String> sortedList : sorted) {
for (String s : sortedList) {
String delimiter = ",";
String[] splitString = s.split(delimiter);
String tempID = splitString[0];
if(!id_list.Contains(tempID))
{
id_list.Add(tempID);// duplicates wont add
perform calclulations with unique TempID
}
}
s+=","+newColumn;
}