【问题标题】:Merging csv file合并csv文件
【发布时间】:2014-05-20 07:54:26
【问题描述】:

请帮助我编写 java 代码。我有 2 个 CSV 文件 a.csv 包含 "zip","name","place" b.csv 包含“zip”、“纬度”、“经度”

我需要用相同的 zip 合并以下列并保存在另一个 csv 文件中

output.csv 文件将是:

"zip","name","place","latitude","longitude"

我将如何编写代码?谢谢。

我已经阅读了这个 a.csv 但我不知道如何合并。

这是我读取第一个 csv 文件的代码

public class Merge{public static void main(String[]args) throws Exception {

        String csvFile ="a.csv";
        BufferedReader br = null;
        String line = "";
        String cvsSplitBy = ",";

try{

    br = new BufferedReader(new FileReader(csvFile));
    while ((line = br.readLine()) != null) {

        // use comma as separator
        String[] cFile = line.split(cvsSplitBy);
    System.out.println("" + cFile[1] + " " + cFile[2] + " ");

    }

} catch (FileNotFoundException e) {
e.printStackTrace();
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
} finally {
    if (br != null) {
        try {
            br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

System. out. println("Done");

} }

【问题讨论】:

  • 我将如何编写这个代码? ANS: 使用一些 IDE。我们不是来为您编写代码的!展示您的努力(代码),以便其他人通过纠正购买或建议正确的购买方式来帮助您。

标签: java csv


【解决方案1】:

我认为您应该编写以下逻辑来实现此目的。这只是一个想法。如果您在任何特定区域遇到任何错误,请继续实施。欢迎您回复您的问题。

  1. 读取 csv 1,填充数组(数组 1)
  2. 读取 csv 2,填充另一个数组(数组 2)
  3. 循环两个数组检查 zip 并合并到第三个数组中.. 如下所示 for(遍历数组 1) // 从 array1 中获取 zip for(遍历数组 2) // 从 array2 中获取 zip 如果(zip1 == zip2) 然后合并并将数据放入另一个数组(array3)并打破这个循环
  4. 将此数组 3 写入新的 csv 文件中

【讨论】:

  • 好的。我看到。您似乎只阅读一个文件..您的逻辑是什么?
  • 我试图读取每个文件,但我总是无法顶部合并它
  • 您是否理解我提到的步骤。你试过吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-03
  • 2013-07-19
  • 2021-12-07
  • 2021-05-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多