0
votes

Fusionner deux fichiers CSV à l'aide de Bash / Python

J'ai deux fichiers CSV que j'ai besoin d'aide pour la mappage / la fusion de l'aide:

Fichier CSV1: P>

"ID","Name","Flavor","RAM","Disk","VCPUs"
"45fc754d-6a9b-4bde-b7ad-be91ae60f582","test1","m1.medium",4096,40,2
"83dbc739-e436-4c9f-a561-c5b40a3a6da5","test2","m1.tiny",128,1,1
"ef68fcf3-f624-416d-a59b-bb8f1aa2a769","test3","m1.medium",4096,40,2


3 commentaires

Le problème avec votre question est que vous n'avez pas spécifié l'opération autre que «mappage / fusion». Consultez-vous simplement CSV2 pour la première (?) Concurrence d'une ligne qui a également «M1.Medium»? Ou pour le dernier? Est le premier champ de CSV2 unique? Etc. Je suppose spécifier l'opération «mappage / fusion» à / vous-même / est au moins 50% du travail effectué.


Quel est le problème, exactement? S'il vous plaît soyez plus précis. Voir Comment demander , Centre d'aide .


@Javier Voulez-vous que les CSV ont rejoint les colonnes de noms / saveurs ou de fusionner toutes les colonnes dans un seul fichier en conservant les rangées où elles sont?


3 Réponses :


1
votes

Quelque chose comme ça, mais vous devrez jouer avec les options de citation pour voir ce que vous aimez.

ID,Name,Flavor,RAM,Disk,VCPUs
45fc754d-6a9b-4bde-b7ad-be91ae60f582,test1,m1.medium,4096,40,2
83dbc739-e436-4c9f-a561-c5b40a3a6da5,test2,m1.tiny,128,1,1
ef68fcf3-f624-416d-a59b-bb8f1aa2a769,test3,m1.medium,4096,40,2


0 commentaires

2
votes

Vous pouvez utiliser ce awk : xxx

xxx


0 commentaires

0
votes

Si j'ai bien compris votre question et que vous souhaitez assortir des lignes dans le premier fichier en fonction de la chaîne de la colonne code> de la gamme de code> avec les lignes qui ont cette valeur dans le nom Code> Colonne de la deuxième CSV, il est tout à fait facile à faire avec xsv code> a> (que vous aurez probablement besoin de Installation d'abord ):

$ xsv join "Flavor" file1.csv "Name" file2.csv | xsv select ID,Name,Flavor,RAM,Disk,VCPUs
ID,Name,Flavor,RAM,Disk,VCPUs
45fc754d-6a9b-4bde-b7ad-be91ae60f582,test1,m1.medium,4096,40,2
83dbc739-e436-4c9f-a561-c5b40a3a6da5,test2,m1.tiny,128,1,1
ef68fcf3-f624-416d-a59b-bb8f1aa2a769,test3,m1.medium,4096,40,2


0 commentaires