# Read csv file that has | between column

**URL:** https://forums.powershell.org/t/read-csv-file-that-has-between-column/7711
**Category:** PowerShell Help
**Created:** [December 13, 2016, 11:47pm UTC](https://forums.powershell.org/t/read-csv-file-that-has-between-column/7711 "2016-12-13T23:47:42Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![nidhin-ck](https://avatars.discourse-cdn.com/v4/letter/n/54ee81/32.png) [@nidhin-ck](https://forums.powershell.org/u/nidhin-ck)
#### Post date: [December 13, 2016, 11:47pm UTC](https://forums.powershell.org/t/read-csv-file-that-has-between-column/7711/1 "2016-12-13T23:47:42Z")

</div>

Hi Experts,

I need to extract AD Account name from an csv file that is in below format. In this csv file all the 3 lines has an “AD Account” name nidhinck. Whats the command i need to use to pull only the AD Account column from this csv file

3 Employee Terminations Approved and Processed by 2016-12-07

```
    They are as follows:	

```

"Employee #| Legacy ID| Cost Center| Job Title| Manager ID| Customer Dimention ID| Customer Dimention Description| AD Account| Last Name| First Name| Email Address| Hire Date| Term Date| Business Site| Termination Reason "   
“123 |199 |800 PURCHASING [Local Cost Center] |Materials Analyst |6852 | | |nidhinck |ck |nidhin |nidhinck@outlook.com |2000-09-25 |2016-12-06 |US South Carolina Columbia |”   
“124 |19505 |900 ENGINEERING OPERATIONS [Local Cost Center] |Test Technician |6852 | | |nidhinck |ck |nidhin |nidhinck@outlook.com |2000-09-25 |2016-12-06 |US South Carolina Columbia |”   
“125 |19332 |100 ENGINEERING OPERATIONS [Local Cost Center] |Test Technician |6852 | | |nidhinck |ck |nidhin |nidhinck@outlook.com |2000-09-25 |2016-12-06 |US South Carolina Columbia |”

---

<div class="post-metadata">

### Author: ![max-kozlov](https://avatars.discourse-cdn.com/v4/letter/m/50afbb/32.png) [@max-kozlov](https://forums.powershell.org/u/max-kozlov)
#### Post date: [December 14, 2016, 1:22am UTC](https://forums.powershell.org/t/read-csv-file-that-has-between-column/7711/2 "2016-12-14T01:22:58Z")

</div>

Get-Help Import-Csv -Parameter Delimiter

---

<div class="post-metadata">

### Author: ![nidhin-ck](https://avatars.discourse-cdn.com/v4/letter/n/54ee81/32.png) [@nidhin-ck](https://forums.powershell.org/u/nidhin-ck)
#### Post date: [December 14, 2016, 2:37am UTC](https://forums.powershell.org/t/read-csv-file-that-has-between-column/7711/3 "2016-12-14T02:37:59Z")

</div>

-delimiter will work only if i remove the first 4 lines form this csv file. Is there any way to remove or discard the first 4 lines and process the rest

---

<div class="post-metadata">

### Author: ![nidhin-ck](https://avatars.discourse-cdn.com/v4/letter/n/54ee81/32.png) [@nidhin-ck](https://forums.powershell.org/u/nidhin-ck)
#### Post date: [December 14, 2016, 3:00am UTC](https://forums.powershell.org/t/read-csv-file-that-has-between-column/7711/4 "2016-12-14T03:00:12Z")

</div>

Got it

```
$a = (Get-Content "D:\Scripts\PwrShell\20161207-01.csv" | Select-Object -Skip 4) | Set-Content "D:\Scripts\PwrShell\Nidhintest.csv"
$b = Import-Csv "D:\Scripts\PwrShell\Nidhintest.csv" -Delimiter "|"
$b | where {$_."AD Account" -like "nidhinck*"}
```

---

<div class="post-metadata">

### Author: ![sergiu-andrei-creife](https://avatars.discourse-cdn.com/v4/letter/s/77aa72/32.png) [@sergiu-andrei-creife](https://forums.powershell.org/u/sergiu-andrei-creife)
#### Post date: [December 14, 2016, 3:03am UTC](https://forums.powershell.org/t/read-csv-file-that-has-between-column/7711/5 "2016-12-14T03:03:54Z")

</div>

```
$X = Import-CSV -delimiter "|"
$X | Select AD_Account
```

I think table headers should not contain spaces so you can transform it into an object and play with it :).  
Let me know if this helps,  
Sergiu

---

<div class="post-metadata">

### Author: ![max-kozlov](https://avatars.discourse-cdn.com/v4/letter/m/50afbb/32.png) [@max-kozlov](https://forums.powershell.org/u/max-kozlov)
#### Post date: [December 14, 2016, 8:14am UTC](https://forums.powershell.org/t/read-csv-file-that-has-between-column/7711/6 "2016-12-14T08:14:47Z")

</div>

Instead of saving you file to other temp. file you can use ConvertFrom-Csv with the same parameter

---

<div class="post-metadata">

### Author: ![skalizar](https://avatars.discourse-cdn.com/v4/letter/s/ecc23a/32.png) [@skalizar](https://forums.powershell.org/u/skalizar)
#### Post date: [December 14, 2016, 8:33am UTC](https://forums.powershell.org/t/read-csv-file-that-has-between-column/7711/7 "2016-12-14T08:33:57Z")

</div>

You also need to strip the first and last double quote. This is ugly but should work.

```
$csv=get-content file.csv | select -skip 4 | foreach {$x=$_.trim();$x.substring(1,$x.length-2)} | convertfrom-csv -Delimiter "|"

$csv | ft -auto
```

---

<div class="post-metadata">

### Author: ![dotnVo](https://avatars.discourse-cdn.com/v4/letter/d/4af34b/32.png) [@dotnVo](https://forums.powershell.org/u/dotnVo)
#### Post date: [May 16, 2024, 8:39pm UTC](https://forums.powershell.org/t/read-csv-file-that-has-between-column/7711/8 "2024-05-16T20:39:42Z")

</div>


