У меня есть один столбец данных, выводимый из Google Sheets
как CSV
, а также из LibreOffice
как CSV
. Я попытался упорядочить оба файла, используя OpenCSV
, но получаю лишь небольшую часть доступных данных.
Как я могу прочитать этот файл? Я не вижу запятых в этом CSV
файле ... но это только один столбец данных.
файл:
thufir@dur:~/jaxb$
thufir@dur:~/jaxb$ head input.csv
Field 1
Foo # 16
bar
baz
fdkfdl
fdsfdsfsdfgh
thufir@dur:~/jaxb$
вывод:
thufir@dur:~/NetBeansProjects/BaseXFromJAXB$
thufir@dur:~/NetBeansProjects/BaseXFromJAXB$ gradle run
> Task :run
Jan 10, 2019 3:36:08 PM net.bounceme.dur.basexfromjaxb.csv.ReaderForCVS printMap
INFO: Foo # 16
Jan 10, 2019 3:36:08 PM net.bounceme.dur.basexfromjaxb.csv.ReaderForCVS printMap
INFO: Field 1
Jan 10, 2019 3:36:08 PM net.bounceme.dur.basexfromjaxb.csv.ReaderForCVS printMap
INFO: Foo # 16
BUILD SUCCESSFUL in 1s
3 actionable tasks: 1 executed, 2 up-to-date
thufir@dur:~/NetBeansProjects/BaseXFromJAXB$
код:
package net.bounceme.dur.basexfromjaxb.csv;
import com.opencsv.CSVReaderHeaderAware;
import java.io.File;
import java.io.FileReader;
import java.net.URI;
import java.util.Collection;
import java.util.Map;
import java.util.logging.Logger;
public class ReaderForCVS {
private static final Logger LOG = Logger.getLogger(ReaderForCVS.class.getName());
private Map<String, String> values;
public ReaderForCVS() {
}
public void unmarshal(URI inputURI) throws Exception {
FileReader f = new FileReader(new File(inputURI));
values = new CSVReaderHeaderAware(f).readMap();
}
public void printMap() {
Collection<String> stringValues = values.values();
for (String s : stringValues) {
LOG.info(s);
}
for (Map.Entry<String, String> item : values.entrySet()) {
String key = item.getKey();
String value = item.getValue();
LOG.info(key);
LOG.info(value);
}
}
}
Честно говоря, я не могу сказать, читает ли библиотека файл в стиле фанк, или файл каким-то образом поврежден, или как. Я буду искать CSV
с веб-сайтов, но не уверен, что это устанавливает. Я не вижу вероятности того, что библиотека неправильно анализирует, но я также не вижу проблемы с этими данными.
Существует только так много способов экспорта данных из электронной таблицы, как CSV
, и я пробовал несколько. Содержание файла нематериально, но эта структура: с чем я имею дело: строки без содержимого, только один столбец, специальные символы.
Чтение в файле в виде текста дает желаемый результат ...