簡體   English   中英

從字符串解析Powershell中的CSV?

[英]Parsing CSV in Powershell from a string?

我正在讀取具有Get-Content的文件,對其進行一些修改,然后我有了CSV的結構,可以做進一步的工作。 如果我這樣做,可以先進行Out-File,然后進行Import-CSV,則可以正常工作,但是我想擺脫這種開銷,並從我編輯的字符串中將其解析為CSV。 我面臨的問題是,我的CSV字段由逗號分隔,並用引號引起來,但CSV中的某些列包含多行字符串,其中包含逗號,但這些逗號不是分隔符。 我正在嘗試做

$mycsvcontent | ConvertFrom-CSV

$mycsvcontent | ConvertFrom-CSV -Header "Column1","Column2","etc..."

但是由於“不是delim逗號”,CSV的結構被錯誤地解析。

我該如何實現?

如果$ mycsvcontent是適當的對象,則字段內的逗號(用引號引起來)應該不會有問題。

$mycsvcontent = {"a,a","b","c,c"}
$mycsvcontent | ConvertFrom-CSV -Header "Column1","Column2","etc..."

退貨

Column1 Column2 etc... 
------- ------- ------  
a,a     b       c,c

如果只是數組,請嘗試以下操作:

$mycsvcontent = @("a,a","b","c,c")
$f = '"' + $($mycsvcontent -join '","') + '"'
$f | ConvertFrom-CSV -Header "Column1","Column2","etc..."

結果是一樣的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM