【发布时间】:2013-09-26 06:03:46
【问题描述】:
我想从列表中获取各个数组的值并加以利用
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;
import au.com.bytecode.opencsv.CSVReader;
public class ReadCSV {
public static void main(String[] args) {
String startFile = "/Users/ray/Downloads/hello.csv";
//String outFile = "./outData.xml";
try {
CSVReader reader = new CSVReader(new FileReader(startFile));
String[] line = null;
String[] header = reader.readNext();
List<List<String[]>> out = new ArrayList<List<String[]>>();
while((line = reader.readNext())!=null){
List<String[]> item = new ArrayList<String[]>();
for (int i = 0; i < header.length; i++) {
String[] keyVal = new String[2];
String string = header[i];
System.out.println("the value of the header : "+string);
String val = line[i];
System.out.println("the value of the field : "+val);
keyVal[0] = string;
keyVal[1] = val;
item.add(keyVal);
}
out.add(item);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
我有一个以下格式的 csv 文件:-
Keyword,AlternateKeywords---> these are the header fields
apple,banana
orange,ego kit
ego ce4,venus
demo,cat
我想要以下形式的数组:
array[] keyword={apple,orange,ego ce4,demo}
array[] banana={banana,ego kit,venus,cat}
我不知道如何从 List 'out' 中获取数据并获取值并打印上述元素。它可以是该特定列的任意数量的标题和任意数量的元素,上面的 csv 只是一个示例。
如果可能,请帮助我。
【问题讨论】:
-
ego ce4,venus - “ego”应该出现在这一行吗? ..我的意思是你显示的i/p,对吗?
-
对不起,我不明白@Rohit,请详细说明您的问题是什么?我已经详细说明了我的要求。谢谢。
-
你为什么不遍历你的列表?
-
是的,这里的“Keywords”和“AlternateKeywords”是各自列的标题。请帮忙,有什么想法吗?
-
如何迭代?这就是我没有得到的......我基本上必须迭代才能从列表中获取数组,对吗?