如何从.csv文件格式读取两个连续的逗号作为Java中的唯一值 [英] how to read two consecutive commas from .csv file format as unique value in java

查看:109
本文介绍了如何从.csv文件格式读取两个连续的逗号作为Java中的唯一值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设CSV文件包含

1,112,,ASIF

以下代码消除了两个连续逗号之间的空值。
提供的代码超出了要求

Following code eliminates the null value in between two consecutive commas. Code provided is more than it is required

   String p1=null, p2=null;       
    while ((lineData = Buffreadr.readLine()) != null)
        {
        row = new Vector(); int i=0;
        StringTokenizer st = new StringTokenizer(lineData, ",");

               while(st.hasMoreTokens())
               {
                row.addElement(st.nextElement());
                    if (row.get(i).toString().startsWith("\"")==true)
                    {
                        while(row.get(i).toString().endsWith("\"")==false)
                        {
                        p1= row.get(i).toString();
                        p2= st.nextElement().toString();                            
                        row.set(i,p1+", "+p2);
                        }                           
                        String CellValue= row.get(i).toString();
                        CellValue= CellValue.substring(1, CellValue.length() - 1);
                        row.set(i,CellValue);
                        //System.out.println(" Final Cell Value : "+row.get(i).toString());
                    }                       

                                            eror=row.get(i).toString();                     
                        try
                            {
                        eror=eror.replace('\'',' ');
                        eror=eror.replace('['  , ' ');
                        eror=eror.replace(']'  , ' ');
                        //System.out.println("Error "+ eror);
                        row.remove(i);
                        row.insertElementAt(eror, i);
                            } 
                        catch (Exception e) 
                            {
                            System.out.println("Error exception "+ eror); 
                            }
                        //}
                i++;
               }

如何从.csv文件格式读取两个连续的逗号作为Java中的唯一值。

how to read two consecutive commas from .csv file format as unique value in java.

推荐答案

下面是通过拆分为String数组来完成此操作的示例。更改的行被标记为注释。

Here is an example of doing this by splitting to String array. Changed lines are marked as comments.

// Start of your code.
            row = new Vector(); int i=0;
        String[] st = lineData.split(","); // Changed
        for (String s : st) { // Changed
            row.addElement(s); // Changed
            if (row.get(i).toString().startsWith("\"") == true) {
                while (row.get(i).toString().endsWith("\"") == false) {
                    p1 = row.get(i).toString();
                    p2 = s.toString(); // Changed
                    row.set(i, p1 + ", " + p2);
                }
                ...// Rest of Code here
        }

这篇关于如何从.csv文件格式读取两个连续的逗号作为Java中的唯一值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆