例如 -
a a 0 12 4
b b 0 29
a c 0 3 b 87 12
z y ab 81 43
我想要第5列。
由于csv文件的字符串标记符由“,”分隔。可能有一些字段为空,不计入令牌。所以我没有在同一列中获得具有相同令牌编号的字段。
答案 0 :(得分:1)
尝试使用经过测试的代码http://opencsv.sourceforge.net/来解析CSV文件。
答案 1 :(得分:0)
处理大量假设。对于你应该做的每一行:
String myString;
String[] stringArray = testString.split(",");//To give us a nice indexable format
if(stringArray.length > 6) //Stops us from indexing out of bounds
{
myString = stringArray[5]; //Because we want the 5th column
}
我假设您正在寻找第5列,而不是左侧的第5列,因为这将是列索引4.(因为数组是从0开始的)
我不再是Java程序员,所以如果有任何错误,请原谅我。这可以在c#
中使用答案 2 :(得分:0)
您的数据似乎是以制表符分隔的。在这种情况下,以下代码应该:
import java.io.*;
import java.util.*;
class Main {
public static void main(String... args) throws FileNotFoundException {
Scanner s = new Scanner(new File("data.txt"));
while (s.hasNextLine()) {
String line = s.nextLine();
String[] cols = line.split("\t");
System.out.println(cols[5]);
//System.out.println(Arrays.toString(cols));
}
}
}
如果数据包含以下(制表符分隔的)行
a a 0 12 4
b b 0 29
a c 0 3 b 87 12
z y ab 81 43
您将从上述程序中获得以下输出:
12
29
87
43