使用apache commons获取CSV文件头

问题描述 投票:7回答:2

我一直在寻找过去2个小时来解决我的问题是徒劳的。我正在尝试使用Apache commons读取CSV文件,我能够读取整个文件,但我的问题是如何只提取数组中CSV的标题?

java csv apache-commons-csv
2个回答
7
投票

默认情况下,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)将返回标题记录。


2
投票

我到处寻找,甚至上面的解决方案也没有用..对于其他任何有这个问题的人,这样做。

Iterable<CSVRecord> records;
Reader in = new FileReader(fileLocation);
records = CSVFormat.EXCEL.withHeader().withSkipHeaderRecord(false).parse(in);
Set<String> headers = records.iterator().next().toMap().keySet();

0
投票
BufferedReader br = new BufferedReader(new FileReader(filename));

CSVParser parser = CSVParser.parse(br, CSVFormat.EXCEL.withFirstRecordAsHeader());

List<String> headers = parser.getHeaderNames();

这对我有用。最后一行是您需要的,将解析器找到的标题提取到字符串列表中。

© www.soinside.com 2019 - 2024. All rights reserved.