gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:08:10 25 4
gpt4 key购买 nike

我有一个场景,我必须解析来自不同来源的 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 许可证)

希望这对您有所帮助。

关于java - 如何确定 CSV 文件中的分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49235863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com