Hướng dẫn chi tiết lệnh Import-CSV trong PowerShell: Cú pháp, tham số và ứng dụng thực tế

lệnh import-csv powershell

Giới thiệu về lệnh Import-CSV PowerShell

lệnh import-csv powershell - Hình 5

Lệnh Import-CSV là một trong những cmdlet quan trọng nhất trong PowerShell, cho phép đọc tệp CSV (Comma-Separated Values) và chuyển đổi dữ liệu thành các đối tượng tùy chỉnh (custom objects) trong pipeline. Khi làm việc với dữ liệu dạng bảng, việc sử dụng lệnh Import-CSV PowerShell giúp tự động hóa quá trình nhập dữ liệu mà không cần viết code phức tạp. Cmdlet này xử lý từng dòng trong tệp CSV, lấy dòng đầu tiên làm tiêu đề cột (header) và tạo ra các đối tượng với các thuộc tính tương ứng.

Đây là công cụ không thể thiếu đối với quản trị viên hệ thống, nhà phát triển và bất kỳ ai thường xuyên xử lý dữ liệu cấu trúc trong môi trường Windows. Thay vì phải parse thủ công từng dòng, bạn chỉ cần một dòng lệnh duy nhất để đọc và thao tác với hàng nghìn bản ghi.

Xem thêm:  Cách sử dụng Internet Options để tối ưu hóa trình duyệt và bảo mật hệ thống

Cú pháp và các tham số của lệnh Import-CSV trong PowerShell

lệnh import-csv powershell - Hình 4

Cú pháp cơ bản

Import-CSV -Path "đường_dẫn_đến_file.csv"

Chỉ với -Path, lệnh sẽ đọc tệp CSV với dấu phẩy làm ký tự phân cách mặc định và sử dụng dòng đầu tiên làm tên thuộc tính.

Các tham số mở rộng

Tham số Kiểu dữ liệu Mô tả
-Path String[] Đường dẫn hoặc danh sách các tệp cần nhập
-Delimiter Char Ký tự phân cách cột (mặc định là dấu phẩy)
-Encoding Encoding Mã hóa tệp (UTF8, ASCII, Unicode…)
-Header String[] Mảng tên cột thay thế cho tiêu đề hiện có
-UseCulture Switch Sử dụng ký tự phân cách theo văn hóa hệ thống
-LiteralPath String[] Đường dẫn chính xác, không mở rộng wildcard

Tham số -Delimiter rất hữu ích khi làm việc với các tệp CSV không dùng dấu phẩy, ví dụ như tệp TSV (tab-separated) dùng ký tự tab (`t`) hoặc các tệp dùng dấu chấm phẩy.

Tham số -Encoding giúp xử lý các tệp có mã hóa đặc biệt, tránh lỗi hiển thị ký tự tiếng Việt hay Unicode.

Cách hoạt động của lệnh Import-CSV

lệnh import-csv powershell - Hình 3

Khi thực thi lệnh Import-CSV PowerShell, PowerShell đọc toàn bộ nội dung tệp dưới dạng chuỗi, phân tích từng dòng dựa trên ký tự phân cách. Dòng đầu tiên được xem là tiêu đề và trở thành tên các thuộc tính của đối tượng. Mỗi dòng tiếp theo tạo thành một đối tượng với các giá trị gán vào thuộc tính tương ứng.

Xem thêm:  Hướng dẫn chi tiết lệnh taskkill trong cmd: Cách force kill tiến trình cứng đầu trên Windows

Ví dụ với tệp CSV có nội dung:

Tên, Tuổi, Thành phố
Nguyễn Văn A, 30, Hà Nội
Trần Thị B, 25, TP.HCM

Lệnh Import-CSV sẽ tạo ra hai đối tượng với ba thuộc tính: Tên, Tuổi, Thành phố. Mỗi đối tượng có thể được truy cập qua pipeline hoặc gán vào biến.

Điều đặc biệt là dữ liệu sau khi nhập vẫn giữ nguyên kiểu chuỗi (string), trừ khi bạn chủ động chuyển đổi. Điều này có nghĩa là Tuổi dù là số vẫn là chuỗi, cần dùng [int] để ép kiểu nếu muốn tính toán.

Ví dụ cụ thể về lệnh Import-CSV PowerShell

lệnh import-csv powershell - Hình 2

Ví dụ 1: Đọc tệp CSV cơ bản

Giả sử bạn có tệp Employees.csv tại C:Data. Lệnh đơn giản nhất:

Import-CSV -Path “C:DataEmployees.csv”

Kết quả là danh sách các đối tượng hiển thị dạng bảng trong console.

Ví dụ 2: Chỉ định ký tự phân cách là dấu chấm phẩy

Nếu tệp CSV sử dụng dấu chấm phẩy (ví dụ xuất từ hệ thống kế toán), bạn dùng tham số -Delimiter:

Import-CSV -Path “C:DataExport.csv” -Delimiter “;”

Ví dụ 3: Thay đổi header

Khi tệp CSV không có dòng tiêu đề,

PowerShell tự động chuyển đổi khoảng trắng thành khoảng trắng trong tên thuộc tính. Bạn vẫn truy cập được bằng cú pháp $object.”Ten Cot”. Nếu muốn tên không có khoảng trắng, dùng tham số -Header để đặt lại tên.

Tại sao Import-CSV không đọc được dòng đầu tiên?

Nếu tệp có BOM (Byte Order Mark) hoặc dòng trống trước header, Import-CSV có thể hiểu sai. Hãy thử dùng Get-Content -Encoding byte để kiểm tra và sửa.

Xem thêm:  Cách quản lý backup settings hiệu quả: Hướng dẫn toàn diện từ A đến Z cho người quản trị hệ thống

Import-CSV có hỗ trợ tệp có nhiều dòng header không?

Không trực tiếp. Bạn phải bỏ qua các dòng đầu bằng cách lọc ra trước khi import hoặc dùng -Header để ghi đè.

Làm thế nào để import CSV và giữ nguyên kiểu dữ liệu số?

Dùng sau đó ép kiểu trong pipeline: Import-CSV “file.csv” | Select-Object , @{Name=’TuoiSo’; Expression={[int]$_.Tuoi}}

Có thể import nhiều tệp CSV cùng lúc và gộp lại không?

Có, dùng Get-ChildItem “.csv” | Import-CSV. Tuy nhiên nếu các tệp có cấu trúc cột khác nhau, kết quả có các thuộc tính khác nhau.

Kết luận

lệnh import-csv powershell - Hình 1

Lệnh Import-CSV PowerShell là công cụ mạnh mẽ và linh hoạt cho mọi tác vụ nhập dữ liệu dạng bảng. Với khả năng chuyển đổi tệp CSV thành đối tượng, nó mở ra vô số khả năng xử lý tự động trong quản trị hệ thống, phát triển phần mềm và phân tích dữ liệu. Hiểu rõ cú pháp, tham số và các lưu ý thực tế giúp bạn tận dụng tối đa cmdlet này, tránh được những lỗi phổ biến và nâng cao hiệu suất công việc. Thực hành với các ví dụ cụ thể là cách tốt nhất để làm chủ lệnh Import-CSV và tích hợp nó vào script hàng ngày của bạn.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *