Hôm trước có dùng Powershell để trích xuất 1 cột bất kỳ trong file .csv ra để sử dụng.

https://minhthuongeh.wordpress.com/2018/05/08/powershell-to-extract-specific-column-from-csv-and-store-in-a-variable/

Với dữ liệu nhỏ tôi thử nghiệm thì không sao. Nhưng khi áp dụng với dữ liệu nhiều record lên tới hàng triệu, thì bắt đầu phát sinh lỗi. Cụ thể là lỗi dư dòng trắng.

Để khắc phục nó, ta có thể dùng câu lệnh sau để giải quyết vấn đề đó.

Get-Content $PathToInput | % { if (-not [string]::IsNullOrWhiteSpace($_)) { $_ | Out-File -Append $PathToOutput } }

$PathToInput là đường dẫn tới file .csv gốc ban đầu.

$PathToOutput là đường dẫn xuất ra tập tin kết quả mới.

Đầu tiên, ta đọc dữ liệu của tập tin .csv đầu vào bằng lệnh Get-Content. Tiếp theo là trả về một mảng dữ liệu chứa các dòng của file đầu vào và bỏ vào trong vòng lặp (biểu tượng ngầm định là %). Điều kiện lặp là kiểm tra xem có phải null hoặc khoảng trắng hay không. Nếu không phải mới được in ra kết quả.

Thử nghiệm với một dữ liệu tầm 2 triệu record, tôi ngồi chờ tầm 20 phút vẫn chỉ mới xử lý được vài ngàn dòng đầu tiên.