"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comparez les gros fichiers CSV #eg38

Comparez les gros fichiers CSV #eg38

Publié le 2024-11-08
Parcourir:787

Voici deux fichiers csv (A et B) de même structure. Les deux utilisent KEY_A, KEY_B et KEY_C comme clé primaire, et les deux ont des enregistrements différents.

Compare large csv files #eg38
Utilisez Java pour comparer les deux fichiers de trois manières et écrivez les résultats respectivement dans de nouveaux fichiers CSV. 1. Recherchez les enregistrements où les clés primaires sont égales et les valeurs des autres champs ne sont pas égales, affichez leurs clés primaires, puis les autres champs de A et les autres champs de B. Vous trouverez ci-dessous le résultat attendu :

Compare large csv files #eg38

  1. Trouver la différence entre A et B, c'est-à-dire les enregistrements existant dans A mais n'existant pas dans B, selon la clé primaire. Ci-dessous le résultat attendu :

Compare large csv files #eg38

  1. Trouver la différence entre B et A en fonction de la clé primaire. Ci-dessous le résultat attendu :

Compare large csv files #eg38
Écrivez le code SPL pour effectuer les trois comparaisons. Ci-dessous pour la 1ère comparaison :

Compare large csv files #eg38

Compare large csv files #eg38

Compare large csv files #eg38
La fonction T() analyse un fichier csv ou écrit des données dans un fichier csv ; L'option @c permet d'utiliser le curseur pour récupérer les données d'un fichier qui ne peut pas tenir dans la mémoire. La fonction sortx() trie les données dans un curseur. La fonction joinx() effectue une jointure par fusion. La fonction merge() fusionne les enregistrements ; L'option @d permet de trouver la différence.

Lisez Comment appeler un script SPL en Java pour savoir comment intégrer SPL dans une application Java.

C'est l'un des problèmes de StackOverflow. Vous pouvez cliquer dessus pour voir que la solution conventionnelle est assez compliquée, mais l'approche SPL est vraiment simple et efficace.

Adresse open source SPL

Déclaration de sortie Cet article est reproduit sur : https://dev.to/esproc_spl/compare-large-csv-files-eg38-29m8?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3