gpt4 book ai didi

java - 从 .csv 文件输入行中提取字段

转载 作者:行者123 更新时间:2023-12-01 21:59:20 25 4
gpt4 key购买 nike

我对 Java 编程世界非常陌生,虽然我知道这是一个非常简单的问题,但我似乎无法以一种能够找到我需要的答案的方式来表达我的搜索......所以希望这个社区的人不会介意帮助我。

我的程序需要从 .csv 文件中获取输入行并将其拆分为数组的字段,使用逗号作为分隔符。然后将数组的字段分配给不同数据类型的变量 - char、int、float 和 string。我正在努力解决的是我的字符串变量的格式。

这是我的代码的一部分:

public void parseCSV(String inputLine) {

String[] splitFields;
splitFields = inputLine.split(",");

try {
empNumber = Integer.parseInt(splitFIelds[0[);
payType = splitFields[1].charAt(0);
hourlyRate = Float.parseFloat(splitFields[2]);
last name =

我需要将字符串数据类型变量lastName 分配给splitFields 数组的位置3。我只是不知道如何格式化它。非常感谢您的帮助!

最佳答案

对你的整体方法的警告

如果您正在使用简单的 csv 文件做作业,请选择其他答案,但在逗号字符 , 上拆分字符串将无法解决更多问题复杂的 CSV。示例:

"Roberts, John", Chicago

这应该被读作两个个单元格,其中第一个字符串是Roberts, John。对 , 进行简单拆分会将其读取为三个单元格:"RobertsJohn"Chicago .

你应该做什么(为了健壮的代码)

如果您正在编写严肃/生产级别的代码,则应该使用 Apache Commons CSV library解析 CSV。逗号和引号有足够多的棘手问题,可能的格式有足够多的变化,因此使用成熟的库是有意义的。没有理由重新发明轮子。

另一种解析文本的工具

如果您是初学者,这可能会带来麻烦,但解析/验证文本输入的强大工具是“正则表达式”。正则表达式可用于将字符串与模式进行匹配并提取字符串的部分。从 csv 的特定单元格中提取字符串后,您可以使用正则表达式来验证该字符串是否采用您期望的格式。

虽然您不太可能在这个项目中真正需要正则表达式,但我想我会提到它。

关于java - 从 .csv 文件输入行中提取字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33841095/

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