majan
majan

Reputation: 139

Convert Case - Convert upper case to lower case in specific csv column

I need help to convert all values from specific csv column (Name) into lower case, using powershell script.

    Change ID       Name                ITSM_Info
183115          ZYXjjjKKK           Possible CRQ
183115          ZYXasdasdj          Possible CRQ
183115          ZYsdajjKKK          Possible CRQ
183115          ZYXjjjKKK           Possible CRQ
183115          abcjKKK             Possible CRQ
183115          ZY1222KKK           Possible CRQ
186081          ZY123qwerK          Possible CRQ

Expected output

  Change ID     Name                ITSM_Info
    183115          zyxjjjkkk           Possible CRQ
    183115          zyxasdasdj          Possible CRQ
    183115          zysdajjkkk          Possible CRQ
    183115          zyxjjjkkk           Possible CRQ
    183115          abcjkkk             Possible CRQ
    183115          zy1222kkk           Possible CRQ
    186081          zy123qwerk          Possible CRQ

Thank you for support.

Upvotes: 3

Views: 1142

Answers (2)

majan
majan

Reputation: 139

This is working for me:

$lower = Import-Csv "D:\CRQ.csv"  -Delimiter ';' 

$lower | ForEach-Object { $_.'Name' = $_.Name.ToLower() } 

$lower | Export-Csv -Path "D:\CRQ_tmp.csv" -Delimiter ';' -NoTypeInformation

Upvotes: 1

Mathias R. Jessen
Mathias R. Jessen

Reputation: 174825

The CSV values are all read in as strings by Import-Csv, and [string] already has a ToLower() method we can use for this!

$lowerCased = Import-Csv .\path\to.csv |ForEach-Object {
  $_.Name = $_.Name.ToLower()
  $_
}

Upvotes: 4

Related Questions