2016-04-29 11 views
0

Ich lese eine Datei mit Get-Content, mache ein paar Modifikationen daran, und danach habe ich eine Struktur von einer CSV, mit der ich weiter arbeiten kann. Wenn ich und Out-File, und dann Import-CSV it, funktioniert gut, aber ich möchte diesen Overhead loswerden, und analysieren Sie es in CSV von meiner bearbeiteten Zeichenfolge. Das Problem, mit dem ich konfrontiert bin, ist, dass meine CSV-Felder durch Kommas getrennt sind und in Anführungszeichen eingeschlossen sind, aber einige der Spalten in meiner CSV enthalten mehrzeilige Strings mit Kommas, aber diese Kommas sind keine Trennzeichen. ich versucheCSV in Powershell aus einer Zeichenfolge analysieren?

$mycsvcontent | ConvertFrom-CSV 

und

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

Aber wegen des „nicht Delim Kommas“, die Struktur der CSV zu tun falsch analysiert wird.

Wie kann ich das erreichen?

Antwort

0

Kommas innerhalb von Feldern (eingeschlossen in Anführungszeichen) sollten kein Problem darstellen, wenn Ihr $ mycsvcontent ein passendes Objekt ist.

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

kehrt

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

Wenn es nur ein Array ist, versuchen Sie Folgendes:

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

Das Ergebnis ist das gleiche

Verwandte Themen