Data souborů CSV jsou v podstatě hodnoty oddělené čárkami a je velmi obtížné číst taková data v nezpracovaném formátu. Když však tyto soubory prohlížíte pomocí některého ze známých editorů, jako je Microsoft Excel, OpenOffice Calc nebo LibreOffice, které podporují formát CSV, je manipulace se soubory CSV poměrně snadná. Ale co když chcete porovnat dva velké soubory CSV z hlediska rozdílu v datech? Udělejme to programově. Tento článek rychle popisuje základní způsob, jak porovnat dva soubory CSV v Java.
Java API pro porovnávání souborů CSV
GroupDocs předvádí svá rozhraní API, která umožňují porovnání dvou nebo více souborů CSV pro rozdíly v aplikacích. K porovnání souborů CSV použiji jeho Java API, tj. GroupDocs.Comparison for Java.
Rozhraní API také podporuje porovnání více než dvou souborů CSV, porovnání souborů CSV chráněných heslem, přijetí a odmítnutí zjištěných změn a mnoho dalšího.
Stáhnout a nakonfigurovat
Získejte srovnávací knihovnu CSV ze sekce ke stažení. Pro Java aplikace založené na Maven přidejte následující konfiguraci do pom.xml. Později si můžete vyzkoušet příklady z tohoto článku a mnoho dalších z GitHub. Podrobnosti naleznete také v Odkaz na rozhraní 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>
Jak porovnávat soubory CSV v Java
Přímo k tématu, udělejme základní srovnání. Je to stejně jednoduché jako jakákoliv online srovnávací aplikace CSV. Stačí načíst srovnávací soubor a poté kliknout na porovnat. Níže jsou porovnány následující soubory:
Níže jsou uvedeny kroky k porovnání rozdílů mezi dvěma soubory CSV v Java:
- Načtěte první soubor CSV pomocí třídy Comparer.
- Přidejte druhý soubor CSV pomocí příslušné metody přidání.
- Porovnejte oba soubory pomocí metody porovnání.
Následující kód Java porovnává soubory CSV a poskytuje rozdíly ve výstupu CSV.
// Porovnejte CSV (Comma Separated Files) pomocí 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");
Výsledek výstupu je následující:
Závěr
Abych to shrnul, právě jsme se naučili porovnávat dva soubory CSV s hodnotami oddělenými čárkami v rámci aplikace Java. V souhrnu srovnání také získáme počet rozdílů nalezených v rámci porovnávaných souborů. Tato funkce vám umožní najít rozdíly mezi dvěma velkými soubory CSV. Podobně si můžete pomocí této jednoduché funkce vytvořit svou vlastní Java aplikaci pro porovnání souborů CSV.
Další podrobnosti a informace o rozhraní API naleznete v dokumentaci. V případě dotazů nás kontaktujte prostřednictvím fóra.