Tôi có một số tệp lớn ở định dạng CSV mà tôi muốn chuyển thành đối tượng bằng cách sử dụng lệnh Import-Csv
trong Powershell. Tuy nhiên, các tệp thiếu tiêu đề cột và chúng cần được thêm vào trước khi tôi sử dụng Import-Csv
. Cách nhanh nhất và hiệu quả nhất để thêm các tệp này vào tệp là gì?Làm cách nào để hiệu quả trước khi chuyển một dòng sang một tệp lớn trong Powershell
Trả lời
Việc đăng ký một tệp lớn không phải là thao tác dễ dàng hoặc nhanh chóng.
Tuy nhiên, nhập khẩu-csv không có một "tiêu đề" lập luận rằng bạn có thể sử dụng để xác định các tiêu đề cột, ví dụ:
$header = 'Foo', 'Bar', 'Baz'
import-csv .\myfile.csv -header $header
Sao chép chuỗi bạn muốn thêm vào trước vào một tập tin mới sau đó nối với phần còn lại vào tệp mới đó.
Tôi chắc chắn có cách để thực hiện việc này trong một dòng, nhưng điều này sẽ hiệu quả.
Giả sử bạn có Test.csv với những nội dung:
1,2,3
4,5,6
7,8,9
mã PowerShell này sẽ tạo một tập tin mới, NewTest.csv, với tên cột và thêm nội dung của Test.csv.
Add-Content -path .\NewTest.csv -value "Col1,Col2,Col3"
$contents = Get-Content .\Test.csv
Add-Content -path .\NewTest.csv -value $contents
Tôi không thể nói về hiệu suất của điều này nếu bạn có tệp lớn, nhưng tôi không biết cách nào khác để thực hiện việc này.
Để tăng tốc độ một chút, hãy thêm Nội dung vào Nội dung bổ sung: Nhận nội dung. \ Test.csv | Add-Content -path. \ NewTest.csv – JasonMArcher
Điều này làm việc tuyệt vời cho tôi! – tresstylez
$largeFile = get-content .\largeFile.txt
$header = "Col1,Col2,Col3,Col4"
$headerArray = $header -split ' '
$headerArray + $largeFile | out-file largeFileWithHeader.txt
Lớp lót này hoạt động tốt.
@("Header Text") + (get-content myFile.txt) | set-content myFile.txt
Giải thích
@("Header Text")
tạo ra một mảng với một mục.+ (get-content myFile.txt)
tạo một mảng mới với nội dung của cả hai.| set-content myFile.txt
dẫn kết quả đến nội dung đã đặt và lưu vào tệp.
- 1. Làm cách nào để chuyển đến một dòng cụ thể trong một tệp văn bản lớn?
- 2. Làm thế nào để ghi một tệp văn bản lớn vào C# một cách hiệu quả?
- 3. Android - Làm thế nào để bạn tải một cách hiệu quả một lượng lớn văn bản trong một TextView?
- 4. Cách hiệu quả để viết một mảng NumPy lớn vào một tệp
- 5. Làm cách nào để chuyển 'dòng đối số' của một chức năng PowerShell sang một chức năng khác?
- 6. Làm cách nào để có thể đếm số lượng dòng trong một tệp theo cách hiệu quả?
- 7. Làm cách nào để chuyển nhiều tệp thành một máy chủ mới hiệu quả?
- 8. Cách đọc một dòng từ một tệp trong PowerShell
- 9. Hiệu quả chuyển tệp lớn (tối đa 2GB) sang GPU CUDA?
- 10. Làm cách nào để thay thế dòng đầu tiên của một tệp lớn trong Java?
- 11. Làm cách nào để in một dòng nhất định của một tệp bằng PowerShell?
- 12. Làm thế nào tôi có thể chuyển đổi một InputStream không nén thành một Gzip'ed InputStream một cách hiệu quả?
- 13. Cách hiệu quả để hợp nhất 2 tệp CSS lớn
- 14. Làm thế nào để chuyển đổi hiệu quả long int sang rải rác IP trong bash
- 15. Xử lý tệp .txt lớn trong python hiệu quả
- 16. Làm thế nào để lặp qua một thư mục với một số lượng lớn các tệp trong PowerShell?
- 17. Đọc txt lớn hiệu quả trong C++
- 18. Làm cách nào để xóa các dòng khỏi một tệp lớn bằng Python, trong môi trường giới hạn
- 19. Làm cách nào để chuyển sang một dòng mã cụ thể trong XCode 4?
- 20. Đọc một dòng cụ thể từ tệp lớn trong Perl
- 21. Phân tích cú pháp một tệp văn bản lớn hiệu quả trong C#
- 22. Làm thế nào tôi có thể đọc một cách hiệu quả FIrst Vài dòng của nhiều tệp trong Delphi
- 23. Làm cách nào để điền một tệp có dữ liệu rỗng từ python một cách hiệu quả?
- 24. Làm cách nào để nhập một tệp lớn vào PostgreSQL?
- 25. Đọc dòng trước trong một tệp python
- 26. Làm thế nào để xóa một cách hiệu quả văn bản, ruột kết và một dấu phẩy trong VIM
- 27. Cách chia nhỏ các tệp lớn hiệu quả
- 28. powershell nhận được số dòng lớn (lớn) tập tin
- 29. Sử dụng gấu trúc, làm thế nào để tôi lấy mẫu một DataFrame lớn theo nhóm một cách hiệu quả?
- 30. Cách hiệu quả để chuyển đổi ma trận kề kề lớn sang các danh sách cạnh trong MATLAB?
Tôi nghĩ đối số tiêu đề chỉ khả dụng trong PowerShell V2. – aphoria