Búsqueda de sitios web

Importación de PowerShell-CSV | Ejemplos de importación de PowerShell-CSV


Introducción a la importación CSV de PowerShell

El cmdlet import-csv se utiliza para recuperar la información contenida en un archivo separado por comas y crear una estructura similar a una tabla. Una vez que se importan los datos, se utiliza un cmdlet foreach para iterar el contenido del csv en forma de filas. No es necesario importar todo el contenido del archivo, es posible aplicar condiciones de filtro y recuperar solo los valores necesarios. Este artículo cubrirá en detalle cómo importar un csv en powershell, ordenar y filtrar un archivo csv y las diferentes formas en que se puede lograr.

Sintaxis y parámetros

La sintaxis y los parámetros de powershell import-csv se detallan a continuación:

Sintaxis:

Import-Csv   [[-Delimiter] <Char>]      [-Path] <String[]>      [-Header <String[]>]      [-Encoding <Encoding>]      [<CommonParameters>]
Import-Csv   [[-Delimiter] <Char>      -LiteralPath <String[]>      [-Header <String[]>]      [-Encoding <Encoding>]      [<CommonParameters>]

Una vez que se importa el archivo csv, cada columna del archivo csv se considera como una propiedad de objeto y los valores de cada fila corresponden a los valores de la propiedad.

Parámetros:

  • -Delimitador: Denota la marca o carácter que se utilizará para separar los valores en el archivo csv. Para un archivo csv, el valor predeterminado del delimitador es una coma (“,”). También se pueden utilizar otros valores como dos puntos (“:”) o punto y coma (“;”). Si el delimitador proporcionado no coincide con el delimitador presente en el archivo, los valores no se importarán y no se crearán los objetos correspondientes. Este parámetro es del tipo de datos char. Este parámetro no permite la entrada de canalización ni los caracteres comodín.
  • -Codificación: Esto significa el instrumento de codificación que se utilizará para el archivo csv especificado. El tipo de datos de este parámetro es codificación. El parámetro no reconoce la entrada de canalización y, además, no se permiten caracteres comodín. El tipo de codificación predeterminado utilizado es UTF8NoBOM.

Los otros valores aceptables son los siguientes:

    • Unicodes bigendianos
    • OEM
    • utf8BOM
    • utf8NoBOM
    • utf7
    • utf8
    • utf32
    • ASCII
  • -Header: Indica un envío de encabezado de columna de intercambio para el registro importado. Esto decide los nombres de las propiedades de los objetos. Los encabezados deben mencionarse en formato separado por comas. Estos no deben estar entre comillas. Encierre cada encabezado de columna entre comillas simples. Si el recuento de encabezados ingresados es menor que el que está disponible en el csv, las columnas restantes del csv se descartan. Si el valor ingresado es mayor que el que está disponible en csv, las columnas adicionales mencionadas se agregan con valores nulos. Cuando utilice el parámetro Encabezado, borre el envío inicial del encabezado del registro CSV. Además, Import-Csv crea una pregunta adicional a partir de los elementos dentro del encabezado. El tipo de información de este parámetro es String[]. El valor predeterminado es ninguno. El parámetro no reconoce la entrada de canalización y, además, no se permiten caracteres comodín.
  • -LiteralPath: Esto indica la ruta donde está presente el archivo csv que se va a importar. No puede ser nada escrito diferente de su valor original. No se permite ninguna alteración. Tiene dos alias, PSPath y LP. La estimación predeterminada es ninguna. Puede aceptar entradas de canalización, mientras que no se permiten caracteres comodín.
  • -UseCulture: Esto indica que la cultura actual se utilizará como delimitador de elementos. El tipo de datos de este parámetro es Switch. La estimación predeterminada es ninguna. No se aceptan entradas de canalización y tampoco se permiten caracteres comodín.

Ejemplos de importación de PowerShell-CSV

A continuación se presentan los ejemplos mencionados:

Ejemplo #1

Entrada:

Write-Host "Welcome to the demo of Importing a csv file in PowerShell"
$file= Import-Csv -Path "C:\test.csv"
$i=0
foreach ($f in $file)
{
if ($i -lt 10)
{
Write-Host "base name is:" $f.BaseName
Write-Host "Full name is:" $f.FullName
Write-Host "name is:" $f.Name
Write-Host "Created date is:" $f.CreationTime
Write-Host "Modified date is:" $f.LastAccessTime
Write-Host "Location of the file drive is:" $f.PSDrive
$i+=$i
}
}

Salida:

En el ejemplo anterior, archivo el archivo csv se importa y se almacena en la variable de archivo. Luego, se repite cada fila del archivo csv. $f denota la fila actual del csv al que se accede y para acceder a los valores de fila correspondientes $f. Se utiliza el encabezado o columna correspondiente.

Ejemplo #2

Entrada:

Write-Host "example of reading a csv completely but displaying result based only on the users input"
$studentid= Read-Host "Enter the student roll no to fetch the student details"
Write-Host "Importing the csv file"
$file= Import-Csv -Path "C:\Users\R003646\Desktop\Articles\June\Student.csv"
Write-Host "File is imported successfully"
foreach ($row in $file)
{
if ($row.Sid -contains $studentid)
{
Write-Host "the mentioned student id is valid and his details are as follows" -ForegroundColor Green
Write-Host "Student name is:" $row.Sname
Write-Host "Student age is:" $row.Sage
Write-Host "Student id is:" $row.Sid
Write-Host "Student rank is:" $row.Srank
}
else
{
Write-Host "Enter a valid student id"
break;
}
}

Salida:

En el ejemplo anterior, se promociona al usuario según los detalles del estudiante que desea ver. Si se ingresa el número de lista de un estudiante válido que está disponible en el csv, se muestran los detalles del estudiante correspondiente. En caso de que el número de lista de estudiantes ingresado no esté presente en el csv, se muestra el segundo resultado.

Ejemplo #3

Entrada:

Write-Host "Importing a csv and displaying the list of data in each column"
$file= Import-Csv -Path "C:\Users\R003646\Desktop\Articles\June\Student.csv"
Write-Host "file is imported" -ForegroundColor Green
write-host "The list of student name in the csv are as follows:" -ForegroundColor Green
$file.Sname
write-host "The list of student age in the csv are as follows:" -ForegroundColor Green
$file.Sage
write-host "The list of student marks in the csv are as follows:" -ForegroundColor Green
$file.Smarks
write-host "The list of student id in the csv are as follows:" -ForegroundColor Green
$file.Sid
write-host "The list of ranks in the csv are as follows:" -ForegroundColor Green
$file.Srank

Salida:

Conclusión

Por lo tanto, el artículo explica en detalle sobre el cmdlet import-CSV en PowerShell. Explicó en detalle varios parámetros, su tipo de datos y su sintaxis junto con ejemplos apropiados. Para conocer más detalladamente es recomendable escribir guiones de muestra y practicarlos.

Artículos relacionados