web-dev-qa-db-fra.com

Extraire uniquement les 10 premières lignes d'un fichier csv dans PowerShell

J'ai un fichier csv et je veux sortir un nouveau fichier csv, qui ne contient que les 10 premières lignes de l'original. Jusqu'à présent, je n'ai trouvé que du code pour supprimer des lignes simples ou des lignes contenant un certain mot. C'est probablement une ligne à 15 caractères, mais je ne sais pas comment aborder cela, toute aide serait grandement appréciée. Je ne m'attends pas à ce que vous écriviez du code, juste la bonne commande m'aiderait.

28
Monacco Franze
Get-Content "C:\start.csv" | select -First 10 | Out-File "C:\stop.csv"

Ça l'a fait

37
Monacco Franze
Get-Content in.csv -Head 10 > out.csv
20
Swonkie

L'utilisation du paramètre -TotalCount est recommandée. Surtout, si vous avez un gros fichier CSV. De cette façon, vous ne lirez que les 10 premières lignes de votre fichier CSV au lieu de lire toutes les lignes, en sélectionnant les 10 premières lignes et en les extrayant.

Get-Content C:\Temp\Test.csv -TotalCount 3 | Out-File C:\Temp\Test10lines.csv

Cela fonctionne à partir de Powershell 2.

12
emekm

Vous pouvez aussi utiliser

(Get-Content yourfile.csv)[0 .. 11]>outputfile.csv

Assurez-vous d'inclure la ligne d'en-tête ou vous pourriez rencontrer des problèmes. Vous pouvez également modifier les nombres pour obtenir les lignes de votre choix. Le premier drapeau et la tête ne fonctionnaient pas pour moi.

1
Josh Groen