Mam duże pliki w formacie CSV, które chciałbym przekształcić w obiekty przy użyciu polecenia Import-Csv
w Powershell. W plikach brakuje nagłówków kolumn, które należy dodać przed użyciem Import-Csv
. Jaki jest najszybszy i najbardziej efektywny sposób dodawania ich do pliku?Jak skutecznie wydaj linek do dużego pliku w Powershell
Odpowiedz
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
skopiować ciąg chcesz dołączana do nowego pliku, a następnie złączyć resztę do tego nowego pliku.
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ć.
Aby nieco przyspieszyć, potnij zawartość Get-Add do treści: Get-Content. \ Test.csv | Add-Content-path. \ NewTest.csv – JasonMArcher
To zadziałało dla mnie świetnie! – tresstylez
$largeFile = get-content .\largeFile.txt
$header = "Col1,Col2,Col3,Col4"
$headerArray = $header -split ' '
$headerArray + $largeFile | out-file largeFileWithHeader.txt
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.
- 1. powershell Uzyskaj liczbę linii dużego (dużego) pliku
- 2. Jak mogę skutecznie dołączyć do dużego rdd do bardzo dużego rdd w iskrze?
- 3. Dostęp Java do dużego pliku
- 4. Parsowanie dużego pliku JSON
- 5. struktura danych do indeksowania dużego pliku
- 6. Chunking danych z dużego pliku do wieloprocesowości?
- 7. Zapis wyjście do pliku tekstowego w PowerShell
- 8. Oracle: ładowanie dużego pliku xml?
- 9. Używanie Powershell do zarejestrowania pliku w Gac
- 10. PowerShell: zapisywanie do pliku tekstowego
- 11. C# wyszukiwanie dużego pliku tekstowego
- 12. Jak odczytywać określone wiersze dużego pliku csv
- 13. Otwieranie dużego pliku JSON w Pythonie
- 14. Nginx serwowania statycznych dużego pliku
- 15. Pobieranie dużego pliku - iPhone SDK
- 16. tworzenie dużego pliku xml w rubinach
- 17. Jak skutecznie przewijać obraz 1024x90000 w oknie?
- 18. Jak skutecznie odwoływać się do zewnętrznych zestawów .NET w module PowerShell v3?
- 19. Jak czytać wiersz z pliku w PowerShell
- 20. Przetwarzanie dużego pliku .txt w pytonie efektywnie
- 21. Pobierz wersję pliku w PowerShell
- 22. Jak odczytywać określoną część dużego pliku w Pythonie
- 23. Ścieżka folderu pliku Powershell In Powershell
- 24. Skutecznie ładuje dużą Matę do pamięci w OpenCV
- 25. Jak zdobyć określone linie z dużego pliku tekstowego w Uniksie?
- 26. Czytaj pliku właściwości w powershell
- 27. Jak skutecznie włączyć config.php?
- 28. Importowanie dużego pliku CSV przy użyciu phpMyAdmin
- 29. Powershell: Odczytywanie fragmentu pliku do zmiennej
- 30. Importowanie dużego pliku sql (> 20 GB)
Myślę, że argument -header jest dostępny tylko w PowerShell V2. – aphoria