[英]Java read specific parts of a CSV
我创建了以下代码来读取 CSV 文件:
public void read(String csvFile) {
try {
File file = new File(csvFile);
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String line = "";
String[] tempArr;
while((line = br.readLine()) != null) {
tempArr = line.split(ABSTAND);
anzahl++;
for(String tempStr : tempArr) {
System.out.print(tempStr + " ");
}
System.out.println();
}
br.close();
} catch(IOException ioe) {
ioe.printStackTrace();
}
}
我有一个 CSV 有超过 300'000 行看起来像这样:{9149F314-862B-4DBC-B291-05A083658D69};Gebaeude;TLM_GEBAEUDE;;Schiessstand;{41C949A2-6D-6F7B-461EE-719 Altdorf 300m;offiziell;Hochdeutsch 墨水。 Lokalsprachen;Einfacher 姓名;; 684600 ; 295930 ;400
我现在怎么能只得到一些部分呢? 我只需要使用粗体/斜体部分即可。
在没有进一步指定您的要求/输入限制的情况下,以下应该在您的循环中起作用。
String str = "{9149F314-862B-4DBC-B291-05A083658D69};Gebaeude;TLM_GEBAEUDE;;Schiessstand;{41C949A2-9F7B-41EE-93FD-631B76F2176D};Altdorf 300m;offiziell;Hochdeutsch inkl. Lokalsprachen;Einfacher Name;;684600;295930;400";
String[] arr = str.split("[; ]", -1);
int cnt=0;
// for (String a : arr)
// System.out.println(cnt++ + ": " + a);
System.out.println(arr[6] + ", " + arr[15] + ", " + arr[16]);
请注意,这假定您的分隔符是分号或空格,并且所需的字段位于固定位置(6、15、16)。 结果:
Altdorf, 684600, 295930
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.