I am very new to Powershell scripting. I have only used it for pulling data from sql and creating csv files with the data. I am finding issues with some data entered in the database and need to clean it up and modify it a little before creating the final csv. Any help would be greatly appreciated.
First issue I have is spaces leading and trailing some of the data in columns. I have resolved this using trim cleaning every column. The next thing I need to do is select a column containing phone numbers (could be multiple columns) and remove all the extra characters ()-. etc. Then I need to add to the beginning and end of the phone number which could include # ,* or additional numbers. (1234567890 to 34512345678905*** as example) This is what I have so far the Where-Object does not currently work but left it in as example.
Where-Object is used only to filter data based on conditions, we cannot change data. You can use Where-Object to filter then pipe to ForEach-Object to do replace action for each object
Thanks for your reply. Yes that is what I gathered. Once I get the filter I dont know how to add the replace function. I imagine it would go something like this but I dont know the correct syntax to get the replace to work.
It’s much easier to assist if you post mock data. One of the typical approaches that can be used is a calculated expression. This lets you manipulate column data, rename columns, etc.:
Name Phone1 Phone2
---- ------ ------
John (945) 555-4567 543-555-5567
Sue (674) 555-4328 (654)-555-0642
Ralph (345) 555-6730 540555-2397
PS C:\Users\rasim> $newCsv
Name Phone1 Phone2
---- ------ ------
John 1,,,,9455554567 5435555567
Sue 1,,,,6745554328 6545550642
Ralph 1,,,,3455556730 5405552397
Thank you Rob that got me in the direction I needed to complete my task. This is a piece of what I used that is directly in line with my original question. This cleared all extra spaces in all columns and where there was a phone number such as (123)456-7890. It removed all special characters and then added a 1 in front and pound at the end to look like this 11234567890#. It then checks for not empty or incomplete rows and exports only complete ones into the new csv file.