如何确定CSV文件中的分隔符

我有一种情况,我必须解析来自不同来源的CSV文件,解析代码非常简单明了。

        String csvFile = "/Users/csv/country.csv";

String line = "";

String cvsSplitBy = ",";

try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) {

while ((line = br.readLine()) != null) {

// use comma as separator

String[] country = line.split(cvsSplitBy);

System.out.println("Country [code= " + country[4] + " , name=" + country[5] + "]");

}

} catch (IOException e) {

e.printStackTrace();

}

我的问题来自CSV分隔符,我有许多不同的格式,,有时是有时是;

有什么方法可以在解析文件之前确定定界符

回答:

univocity-parsers支持自动检测定界符(也包括行尾和引号)。只需使用它而不是与您的代码作斗争:

CsvParserSettings settings = new CsvParserSettings();

settings.detectFormatAutomatically();

CsvParser parser = new CsvParser(settings);

List<String[]> rows = parser.parseAll(new File("/path/to/your.csv"));

// if you want to see what it detected

CsvFormat format = parser.getDetectedFormat();

免责声明:我是该库的作者,并且确保确保涵盖了各种极端情况。它是开源且免费的(Apache 2.0许可证)

希望这可以帮助。

以上是 如何确定CSV文件中的分隔符 的全部内容, 来源链接: utcz.com/qa/432599.html

回到顶部