Данные файла CSV в основном представляют собой значения, разделенные запятыми, и очень сложно читать такие данные в необработанном формате. Однако, когда эти файлы просматриваются с помощью любого из известных редакторов, таких как Microsoft Excel, OpenOffice Calc или LibreOffice, которые поддерживают формат CSV, становится довольно легко манипулировать файлами CSV. Даже в этом случае, что если вы хотите сравнить два больших CSV-файла на предмет различий в данных? Сделаем это программно. В этой статье кратко рассматриваются основные способы сравнения двух CSV-файлов в Java.

API Java для сравнения файлов CSV

GroupDocs демонстрирует свои API, которые позволяют сравнивать два или более файла CSV на наличие различий в приложениях. Я буду использовать его Java API, т.е. GroupDocs.Comparison for Java для сравнения файлов CSV.

API также поддерживает сравнение более двух CSV-файлов, сравнение защищенных паролем CSV-файлов, принятие и отклонение обнаруженных изменений и многое другое.

Скачать и настроить

Получите библиотеку сравнения CSV из раздела загрузки. Для приложений Java на основе Maven добавьте следующую конфигурацию в файл pom.xml. Позже вы можете попробовать примеры из этой статьи, а также многие другие из GitHub. Для получения подробной информации вы также можете посетить Справочник по API.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-comparison</artifactId>
        <version>22.3</version> 
</dependency>

Как сравнить файлы CSV в Java

Сразу к теме, давайте проведем базовое сравнение. Это так же просто, как любое онлайн-приложение для сравнения CSV. Просто загрузите файл сравнения и нажмите «Сравнить». Ниже приведены файлы, которые сравниваются ниже:

CSV-файлы для сравнения

Ниже приведены шаги для сравнения двух файлов CSV на наличие различий в Java:

  • Загрузите первый CSV-файл, используя класс Comparer.
  • Добавьте второй файл CSV, используя соответствующий метод добавления.
  • Сравните оба файла, используя метод сравнения.

Следующий код Java сравнивает файлы CSV и показывает различия в выходных данных CSV.

// Сравните CSV (файлы, разделенные запятыми) с помощью Java

Comparer comparer = new Comparer("path/comma-separated-file-1.csv");
comparer.add("path/comma-separated-file-2.csv");
final Path outputFilePath = comparer.compare("path/comparison-result.csv");

Результат на выходе выглядит следующим образом:

Результат сравнения файлов CSV

Вывод

Подводя итог, мы только что научились сравнивать два файла CSV со значениями, разделенными запятыми, в приложении Java. В сводке сравнения мы также получаем количество различий, обнаруженных в сравниваемых файлах. Эта функция позволяет найти различия между двумя большими файлами CSV. Точно так же вы можете создать собственное Java-приложение для сравнения файлов CSV, используя эту простую функцию.

Чтобы получить дополнительные сведения и узнать об API, посетите его документацию. По вопросам обращайтесь к нам через форум.

Смотрите также