【发布时间】:2018-06-04 18:32:02
【问题描述】:
我正在尝试使用 java(jackson) 将 csv 转换为 json。 我不想根据列名读取特定列。
代码: 公共类 CSV2JSON {
public static void main(String[] args) throws Exception {
File input = new File("input.csv");
File output = new File("output.json");
CsvSchema csvSchema = CsvSchema.builder().setUseHeader(true).build();
CsvMapper csvMapper = new CsvMapper();
// Read data from CSV file
List readAll = csvMapper.readerFor(Map.class).with(csvSchema).readValues(input).readAll();
ObjectMapper mapper = new ObjectMapper();
// Write JSON formated data to output.json file
mapper.writerWithDefaultPrettyPrinter().writeValue(output, readAll);
// Write JSON formated data to stdout
System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(readAll));
}
}
我不想从 csv 文件中读取特定列。 我的 csv 文件。这是一个包含 3 列和 3 行的示例。
city,population,area
Berlin,3500000,891
Paris,2241346,105
London,8800000,1572
因此,如果我不想读取人口列,那么我应该能够跳过人口列。
请帮忙!
谢谢。
【问题讨论】: