一整天我一直在寻找如何解决这个问题,什么都没有……我想编写函数,将 CSV 文件转换为列表(字符串)集合。这是这个函数:
public Collection<? extends List<String>> parse() throws IOException {
Collection<List<String>> collectionOfLists = new ArrayList<List<String>>();
CsvListReader parser = new CsvListReader(Files.newBufferedReader(pathToFile, StandardCharsets.UTF_8), CsvPreference.EXCEL_PREFERENCE);
List<String> row;
while( (row = parser.read()) != null)
collectionOfLists.add(row);
return collectionOfLists;
}
public static String toString(Collection<? extends List<String>> csv) {
StringBuilder builder = new StringBuilder();
for(List<String> l : csv) {
for(String s : l)
builder.append(s).append(',');
if(builder.length() > 0)
builder.setCharAt(builder.length()-1,'\n');
}
return builder.toString();
}
但例如对于该输入:
id, name, city, age
1,"Bob",London,12
toString(parse()) 的输出是:
id, name, city, age
1,Bob,London,12
而不是相同的输入:/ 我能做什么,字符串包含 \" (引号)?请帮助我。