У меня есть файл CSV с неизвестной кодировкой, и данные не структурированы как XML, как на рис. Требуется проанализировать этот файл и преобразовать данные в формат JSON. Как сделать то же самое?
Я пробовал с csvMapper
, это работает, только если данные имеют формат XML. Я не думаю, что это работает, когда свойства модели не зафиксированы.
Я пробовал с потоками Java 8, но я должен был преобразовать CSV в структурированный XML со строками и столбцами.
Это работает только для десяти предоставленных строк и столбцов, если файл структурирован.
// Read data
try (Stream<String> stream = Files.lines(Paths.get(path), Charset.forName("Cp1252"))) {
result = stream.skip(1) // skip headers
.map(line -> line.split("")).map(data -> IntStream.range(0, data.length).boxed()
.collect(Collectors.toMap(i -> headers[i], i -> data[i])))
.collect(Collectors.toList());
}