J'ai quelques fichiers volumineux au format CSV que je voudrais transformer en objets en utilisant la commande Import-Csv
dans Powershell. Les fichiers ne contiennent cependant pas les en-têtes de colonne et ceux-ci doivent être ajoutés avant que j'utilise Import-Csv
. Quel est le moyen le plus rapide et le plus efficace d'ajouter ces éléments au fichier? Ajouter un fichier volumineux n'est pas une opération facile ou rapide.Comment pré-accrocher efficacement une ligne à un fichier volumineux dans Powershell
Répondre
Cependant, l'import-csv a un argument « en-tête » que vous pouvez utiliser pour spécifier les en-têtes de colonnes, à savoir:
$header = 'Foo', 'Bar', 'Baz'
import-csv .\myfile.csv -header $header
Copiez la chaîne que vous voulez préfixer un nouveau fichier concaténer le reste à ce nouveau fichier.
Je suis sûr qu'il existe un moyen de le faire en une ligne, mais cela fonctionnera.
En supposant que vous avez test.csv avec ces contenus:
1,2,3
4,5,6
7,8,9
Ce code PowerShell va créer un nouveau fichier, NewTest.csv, avec les noms de colonnes et ajouter le contenu de test.csv.
Add-Content -path .\NewTest.csv -value "Col1,Col2,Col3"
$contents = Get-Content .\Test.csv
Add-Content -path .\NewTest.csv -value $contents
Je ne peux pas parler à la performance de ce si vous avez un fichier vraiment grand, mais je ne suis pas au courant d'aucune autre façon de le faire.
Pour accélérer un peu les choses, acheminez le contenu de Get-Content vers Add-Content: Get-Content. \ Test.csv | Add-Content -path. \ NewTest.csv – JasonMArcher
Cela a très bien fonctionné pour moi! – tresstylez
$largeFile = get-content .\largeFile.txt
$header = "Col1,Col2,Col3,Col4"
$headerArray = $header -split ' '
$headerArray + $largeFile | out-file largeFileWithHeader.txt
Cette doublure fonctionne bien.
@("Header Text") + (get-content myFile.txt) | set-content myFile.txt
Explication
@("Header Text")
crée un tableau avec un seul élément.+ (get-content myFile.txt)
crée un nouveau tableau avec le contenu des deux.| set-content myFile.txt
dirige le résultat vers set-content et l'enregistre dans un fichier.
- 1. Comment transformer efficacement une série de chaînes en PowerShell?
- 2. Comment vider efficacement un fichier Perl DBM?
- 3. Recherche en ligne efficace et remplacement pour le fichier volumineux
- 4. Ecriture d'onglets dans un fichier à l'aide de PowerShell
- 5. Requête PowerShell: comment traiter un fichier
- 6. Comment lire CDATA dans un fichier XML avec PowerShell?
- 7. Copie d'une partie d'un fichier volumineux à l'aide de la ligne de commande
- 8. Problèmes de connexion à un fichier MDB Access via PowerShell
- 9. Comment puis-je remplacer une ligne spécifique par un numéro de ligne dans un fichier texte?
- 10. Accéder à un fichier volumineux dans une archive zip avec HTML dans un WebView python-webkit sans extraire
- 11. Comment exécuter un script PowerShell à partir de SSIS
- 12. Partage XML d'un fichier volumineux
- 13. Passer le contenu du répertoire en une seule ligne à un exécutable Powershell
- 14. Comment créer une ArrayList à partir d'un tableau dans PowerShell?
- 15. svn diff une ligne spécifique dans un fichier
- 16. Comment construire efficacement un arbre à partir d'une structure plane?
- 17. C#: supprimer une ligne dans un fichier Txt
- 18. Comment envoyer un gros XML au client dans ASP.NET efficacement?
- 19. Quelle est la meilleure façon de faire une recherche dans un fichier volumineux?
- 20. Comment vider une ligne dans un fichier et l'écrire à sa position d'origine?
- 21. Comment puis-je ajouter des caractères à une ligne dans un fichier?
- 22. Comment mettre à jour une seule ligne dans un DataGridView?
- 23. Comment authentifier efficacement l'utilisateur appelant un webservice?
- 24. Comment implémenter efficacement une boucle d'événements?
- 25. Echapper _ efficacement dans un environnement tabulaire, LaTeX
- 26. Commande Unix unique pour transférer correctement un fichier volumineux?
- 27. Copier un fichier volumineux de l'iPhone vers le PC
- 28. Comment passer Propriétés à pot de Powershell?
- 29. Lire un fichier volumineux dans la table sqlite dans l'objectif-C sur l'iPhone
- 30. Comment imprimer un ensemble de fichiers dans un fichier, un nom de fichier par ligne?
Je pense que l'argument -header est uniquement disponible dans PowerShell V2. – aphoria