我有一列数据,输出自
Google Sheets
作为
CSV
,也来自
LibreOffice
作为
猪瘟病毒
也。我试着用
OpenCSV
但我只能得到一小部分可用的数据。
我怎么看这个文件?我真的看不到任何逗号
猪瘟病毒
文件…但它只是一列数据。
文件:
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);
}
}
}
坦率地说,我不能确定图书馆是否在文件中以一种时髦的方式阅读,或者文件以某种方式被破坏,或者是什么。我会找的
猪瘟病毒
从网站上,但不确定这是什么。我不认为库解析不正确,但是我也看不到这个数据的问题。
从电子表格中导出数据的方法只有
猪瘟病毒
我试过一些。文件的内容并不重要,但我要处理的是这种结构:没有内容的行,只有一列,特殊字符。
阅读
file as text
提供所需的输出…