2009-03-18 10 views

Odpowiedz

6

Przesłanie do dużego pliku nie jest łatwą lub szybką operacją.

Jednak import-CSV ma „nagłówka” argument, który można użyć, aby określić nagłówki kolumn, a mianowicie:

$header = 'Foo', 'Bar', 'Baz' 
import-csv .\myfile.csv -header $header 
+0

Myślę, że argument -header jest dostępny tylko w PowerShell V2. – aphoria

0

skopiować ciąg chcesz dołączana do nowego pliku, a następnie złączyć resztę do tego nowego pliku.

4

Jestem pewien, że jest sposób na zrobienie tego w jednym wierszu, ale to zadziała.

zakładając, że masz Test.csv z tych treści:

1,2,3 
4,5,6 
7,8,9 

Ten kod PowerShell stworzy nowy plik NewTest.csv, z nazwami kolumn i dołącz zawartość Test.csv.

Add-Content -path .\NewTest.csv -value "Col1,Col2,Col3" 
$contents = Get-Content .\Test.csv 
Add-Content -path .\NewTest.csv -value $contents 

nie mogę mówić do wykonywania tego, jeśli masz naprawdę duży plik, ale nie jestem świadomy jakikolwiek inny sposób to zrobić.

+2

Aby nieco przyspieszyć, potnij zawartość Get-Add do treści: Get-Content. \ Test.csv | Add-Content-path. \ NewTest.csv – JasonMArcher

+0

To zadziałało dla mnie świetnie! – tresstylez

0
$largeFile = get-content .\largeFile.txt 
$header = "Col1,Col2,Col3,Col4" 
$headerArray = $header -split ' ' 
$headerArray + $largeFile | out-file largeFileWithHeader.txt 
3

Ta jedna wkładka ładnie się sprawdzi.

@("Header Text") + (get-content myFile.txt) | set-content myFile.txt 

Wyjaśnienie

  • @("Header Text") tworzy tablicę z jednego elementu.
  • + (get-content myFile.txt) tworzy nową tablicę z zawartością obu.
  • | set-content myFile.txt potokuje wynik, ustawiając zawartość i zapisuje do pliku.
Powiązane problemy