【问题标题】:how to remove new line character from csv file's element java如何从csv文件的元素java中删除换行符
【发布时间】:2014-03-24 14:10:31
【问题描述】:

我有一个包含一列的 CSV 文件,该列跨越多行。我想将这些多行聚合为一行。

例如

1, "asdsdsdsds", "John"
2, "dfdhifdkinf
dfjdfgkdnjgknkdjgndkng
dkfdkjfnjdnf", "Roy"
3, "dfjfdkgjfgn", "Rahul"

我希望我的输出是

1, "asdsdsdsds", "John"
2, "dfdhifdkinf dfjdfgkdnjgknkdjgndkng dkfdkjfnjdnf", "Roy"
3, "dfjfdkgjfgn", "Rahul"

我应该如何通过 java.xml 删除新行。

【问题讨论】:

  • 使用适当的 CSV 解析器,例如 OpenCSV
  • @BoristheSpider 哪个函数?
  • 开始从 CSV 文件中读取每个字符,如果不是 line separator,则继续将文件的字符附加到 StringBuilder 对象。如果字符是line separator,则忽略它。最后,当迭代完成时,您将在 StringBuilder 对象中拥有一个正确的 CSV。
  • 你说的哪个函数是什么意思? CSV 解析之一。很明显。

标签: java csv


【解决方案1】:

您可以使用 OpenCSV 创建一个 CSV 阅读器,如下所示:

CSVReader csvReader = new CSVReader(new BufferedReader(new InputStreamReader(new FileInputStream(new File(fileName)))));

您可以使用方法 csvReader.readNext() 读取每一行。它返回一个字符串数组。

String [] nextRow = csvReader.readNext();

它将处理列中的新行。

【讨论】:

    【解决方案2】:

    您应该从文件中删除行尾字符 \n,然后将文件写入 csv 文件。

    public static void remove(String[] args) throws Exception {
    
        CSVReader main = new CSVReader(new FileReader("path to csv file"));
        String [][] look= new String [row][col];
    
        int line =0;
        String [] nextLine;
        while ((nextLine = main.readNext())!=null){
    
           nextLine[1]=nextLine[1].replaceAll("\n", "");
           look[line]=nextLine; 
           line++;
        }
    
        BufferedWriter br = new BufferedWriter(new FileWriter("myfile.csv"));
        StringBuilder sb = new StringBuilder();
    
        for (int m=0;m<row;m++) {
    
          for(int p=0; p<col;p++){
             sb.append(look[m][p]).append(",");
          }
          sb.deleteCharAt(sb.lastIndexOf(","));
          sb.append("\n");
        }
    
        br.write(sb.toString());
        br.close();
    }
    

    【讨论】:

    • 你能正确命名你的变量吗:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 2018-07-01
    • 2013-09-08
    • 1970-01-01
    相关资源
    最近更新 更多