当前位置: 首页 > 面试题库 >

将CSV文件合并为一个文件,没有重复的标题

裴哲
2023-03-14
问题内容

我有一些具有相同列标题的CSV文件。例如

文件A

header1,header2,header3
one,two,three
four,five,six

文件B

header1,header2,header3
seven,eight,nine
ten,eleven,twelve

我想将其合并,以便将数据合并到一个文件中,文件头位于顶部,但其他任何地方都没有文件头。

header1,header2,header3
one,two,three
four,five,six
seven,eight,nine
ten,eleven,twelve

什么是实现此目标的好方法?


问题答案:

这应该工作。它检查要合并的文件是否具有匹配的头。否则将引发异常。异常处理(关闭流等)已作为练习。

String[] headers = null;
String firstFile = "/path/to/firstFile.dat";
Scanner scanner = new Scanner(new File(firstFile));

if (scanner.hasNextLine())
    headers[] = scanner.nextLine().split(",");

scanner.close();

Iterator<File> iterFiles = listOfFilesToBeMerged.iterator();
BufferedWriter writer = new BufferedWriter(new FileWriter(firstFile, true));

while (iterFiles.hasNext()) {
  File nextFile = iterFiles.next();
  BufferedReader reader = new BufferedReader(new FileReader(nextFile));

  String line = null;
  String[] firstLine = null;
  if ((line = reader.readLine()) != null)
    firstLine = line.split(",");

  if (!Arrays.equals (headers, firstLine))
    throw new FileMergeException("Header mis-match between CSV files: '" +
              firstFile + "' and '" + nextFile.getAbsolutePath());

  while ((line = reader.readLine()) != null) {
    writer.write(line);
    writer.newLine();
  }

  reader.close();
}
writer.close();


 类似资料:
  • 我有一些具有相同列标题的CSV文件。例如 文件A 文件B 我想合并它,以便将数据合并到一个文件中,标题在顶部,但其他地方没有标题。 实现这一目标的好方法是什么?

  • 我正在寻找一个批处理文件合并所有CSV文件在一个特定的文件夹与行"LF"结束。 下面的脚本创建了一个带有“CRLF”EOL的输出文件,但是我的自动数据加载程序只接受“LF”EOL。 此外,我想在输出文件中有一个头。 帮助将不胜感激,因为我已经浪费了足够的时间寻找解决方案。 这就是我在下面尝试的。

  • 我一直试图将几个csv文件合并成一个,但它显示出一些错误。我是python新手,非常感谢您的帮助。 以下是我的代码: 错误显示为:

  • 本文向大家介绍Python将多个excel文件合并为一个文件,包括了Python将多个excel文件合并为一个文件的使用技巧和注意事项,需要的朋友参考一下 利用Python,将多个excel文件合并为一个文件 思路 利用python xlrd包读取excle文件,然后将文件内容存入一个列表中,再利用xlsxwriter将内容写入到一个新的excel文件中。 完整代码 源文件excel1: 源文件e

  • 问题内容: 我是Python的初学者。我有多个CSV文件(超过10个),并且它们的列数均相同。我想将所有这些文件合并到一个CSV文件中,在该文件中不再重复标题。 因此,从本质上讲,我只需要具有所有标题的第一行,然后就需要合并所有CSV文件中的所有行。我该怎么做呢? 到目前为止,这是我尝试过的。 问题答案: 虽然我认为最好的答案是来自@valentin的答案,但您可以完全不用模块就可以做到这一点:

  • 问题内容: 我有一个包含数千个.txt文件的文件夹。我想根据以下模型将它们合并到一个大的.csv文件中: 我发现应该执行此工作的R脚本(https://gist.github.com/benmarwick/9265414),但它显示此错误。 我不明白我的错是什么。 没关系,我很确定没有R也可以做到这一点。如果您知道一个非常优雅和简单的方法,将不胜感激(这对像我这样的很多人很有用) 精度:文本文件为