gpt4 book ai didi

java - 在java中读取csv文件(其中包含字符,整数和特殊符号)并从中提取整数

转载 作者:行者123 更新时间:2023-12-01 11:14:26 29 4
gpt4 key购买 nike

请帮我解决这个代码...我正在打开一个 csv 文件,其内容如下所示,我正在尝试从中提取数字,但它显示异常...请帮助

import java.io.*;
import java.util.*;

public class FDS2
{
public static void main(String[] args) throws IOException
{
ArrayList<String> al1 = new ArrayList<String>();
ArrayList<Integer> al2= new ArrayList<>();

try
{
BufferedReader finp = new BufferedReader(new FileReader("ex3.csv"));
String str ;
String strarr[];

while((str=finp.readLine())!=null)
{
strarr = str.split(",") ;

for(int i=0;i<strarr.length;i++)
{
al1.add(strarr[i]);
}


for(int i=0;i<al1.size();i++)
{
if (Character.isDigit(al1.get(i).charAt(0))==false)//||(al1.get(i)==null))
{
al1.remove(i);
}
else
{
System.out.println(al1.get(i));
}
}

for(int i=0;i<al1.size();i++)
{
al2.add(Integer.parseInt(al1.get(i)));
//System.out.println(b.get(i));
}

}
}

catch(IOException e)
{
System.out.println(e);
}

System.out.println(al2);

}
}

我的 csv 文件如下:

before,after,
100,109,
93,125,(Highly unexpected!)
106,104,(No change)
115,101,

最佳答案

if (Character.isDigit(al1.get(i).charAt(0))==false)//||(al1.get(i)==null))
{
al1.remove(i);
}

不判断你尝试执行此操作的风格(我建议使用 OpenCSV),但我相信你的错误是你正在按索引删除元素,所以问题是一旦你删除了列表中的第 0 个元素,a1.size() 将为 1,并且您的删除循环已经终止,而没有删除所有文本元素。

关于java - 在java中读取csv文件(其中包含字符,整数和特殊符号)并从中提取整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31997335/

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