IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

CSV ajout d'une colonne ?


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    388
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Novembre 2004
    Messages : 388
    Par défaut CSV ajout d'une colonne ?
    Bonjour,

    J'aimerais faire un assemblage de colonne (de plusieurs fichiers CSV en un seul fichier)

    Exemple :
    - Mon premier fichier csv
    Computer, Address, Name
    HostName,127.0.0.1, TOTO

    - Mon deuxième fichier csv
    Computer, Address, LastName
    HostName,127.0.0.1,LastName

    et mon fichier final devrait être :
    Computer, Address, Name, LastName
    HostName,127.0.0.1, TOTO, LastName

    Il y a plusieurs lignes dans un fichier et il y a plusieurs fichiers ...

    Pour information chaque ligne correspond a la ligne des autres fichiers
    exemple : le hostname a la ligne 35 correspondra forcement a la ligne 35 d'un autre fichier

    J'ai bien réussi a récupéré la dernière colonne de chaque fichier mais j'ai un problème de performance sur les assemblages de fichier
    j'ai testé ça : https://stackoverflow.com/questions/...ows-powershell
    mais ça ne fonctionne pas trop, il me met dans la derniere colonne toutes les données de la colonne du fichier sur chaque ligne.

    Je pense qu'il est inutile de vous donnez le code que j'ai fait car il n'est vraiment pas pas performant, style pour 5 fichiers avec 5000 lignes ça met 1h20 de traitement ... pas génial ...

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Je ne comprend pas trop le problème, il suffit de faire ce que l'on dit.
    Avec tes fichiers d'exemple je n'ai pas de problème de performance.

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    $i1 = Import-Csv -Path "1.csv" -Encoding Default
    $i2 = Import-Csv -Path "2.csv" -Encoding Default
     
    $items = @()
     
    for ($i=0 ; $i -lt $i1.count ; $i++)
    {
        $items += [PSCustomObject]@{
            Computer = $i1[$i].Computer
            Address = $i1[$i].Address
            Name = $i1[$i].Name
            LastName = $i2[$i].LastName
        }
    }
     
    $items | Export-Csv -Path "result.csv" -NoTypeInformation

    PS : Vous avez quoi avec les espaces dans les en-têtes des fichiers CSV, vous faite de la mise en forme ?

Discussions similaires

  1. [PowerShell] Ajout d'une colonne CSV sur powershell
    Par Aaron_Zombie dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 28/03/2017, 08h39
  2. [MySQL] Importation depuis csv, ajout d'une colonne et remplissage de la colonne
    Par hannibal974 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 25/06/2013, 20h01
  3. Ajout d'une colonne dans un fichier csv
    Par sorilazer dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 12/11/2012, 18h08
  4. pb d'ajout d'une colonne dans un report
    Par khlh dans le forum Oracle
    Réponses: 3
    Dernier message: 06/10/2005, 17h12
  5. Ajout d'une colonne dans une table ...
    Par Djedjeridoo dans le forum SQL
    Réponses: 2
    Dernier message: 22/07/2003, 16h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo