我一直在寻找过去2个小时来解决我的问题是徒劳的。我正在尝试使用Apache commons读取CSV文件,我能够读取整个文件,但我的问题是如何只提取数组中CSV的标题?
默认情况下,CSVParser
读取的第一条记录将始终是标题记录,例如在下面的例子中:
CSVFormat csvFileFormat = CSVFormat.DEFAULT.withHeader(FILE_HEADER_MAPPING);
FileReader fileReader = new FileReader("file");
CSVParser csvFileParser = new CSVParser(fileReader, csvFileFormat);
List csvRecords = csvFileParser.getRecords();
csvRecords.get(0)
将返回标题记录。
我到处寻找,甚至上面的解决方案也没有用..对于其他任何有这个问题的人,这样做。
Iterable<CSVRecord> records;
Reader in = new FileReader(fileLocation);
records = CSVFormat.EXCEL.withHeader().withSkipHeaderRecord(false).parse(in);
Set<String> headers = records.iterator().next().toMap().keySet();
BufferedReader br = new BufferedReader(new FileReader(filename));
CSVParser parser = CSVParser.parse(br, CSVFormat.EXCEL.withFirstRecordAsHeader());
List<String> headers = parser.getHeaderNames();
这对我有用。最后一行是您需要的,将解析器找到的标题提取到字符串列表中。