java - 如何解析在java中有一些空值的csv文件

标签 java csv

我想像下面这样解析 csv :

12:50 AM,11.0,10.0,94,1013,10.0,NNW,14.8,-,N/A,,Mostly Cloudy,330,2011-10-27 23:50:00

为了解析它,我使用如下代码:

while((mylines = rdr.readLine()) != null)
        {   
            Pattern p = Pattern.compile("<br />");
            mylines=mylines.replaceAll("<br />", "");
            System.out.println(mylines);
            StringTokenizer st = new StringTokenizer(mylines , ",");
            while(st.hasMoreTokens())
            {
                System.out.println(st.nextToken());
            }
        }

对于我称之为 Null 的第 10 个元素,我没有得到任何不好的标记响应。 如何获得所有元素的 token ?

问候

最佳答案

这是 StringTokenizer 类的预期行为。 您始终可以通过在拆分字符串之前添加以下行来强制您的程序返回某些内容,例如 "***":

mylines=mylines.replaceAll(",,", ",***,");

在这种情况下,StringTokenizer 将返回 *** 而不是 null

关于java - 如何解析在java中有一些空值的csv文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8285685/

相关文章:

Java XPath API 提取选择性文本

java - JTable 卡住列对齐问题(Java 1.6)

java - 是否可以通过 MS Access/ExcelP 等程序访问嵌入式 Derby 数据库进行分析

java - 解析JSON多个对象

java - Entry语句的作用是什么?

java - 如何在java中读取大尺寸csv文件并将每一行拆分为字符串数组

xml - 在 Go 中将通用 csv 转换为 xml

c++ - 如何获取 CSV 文件的列?

java - Unix 上的 utf-8 问题

Python 3.5 CSV.reader 不返回任何行