Данные файла 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 на наличие различий в 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 со значениями, разделенными запятыми, в приложении Java. В сводке сравнения мы также получаем количество различий, обнаруженных в сравниваемых файлах. Эта функция позволяет найти различия между двумя большими файлами CSV. Точно так же вы можете создать собственное Java-приложение для сравнения файлов CSV, используя эту простую функцию.
Чтобы получить дополнительные сведения и узнать об API, посетите его документацию. По вопросам обращайтесь к нам через форум.