後でデータベースで処理するために、いくつかのCSVドキュメントを解析して変更を保存するプロセスがあります。いずれかのCSVの1つの行(人物)が人物データベースに見つからない場合、プロセスはCSVからそのレコードを保存します。私は現在、ハッシュテーブルの文字列出力として保存しています。保存されたPSCustomObject(文字列として)をハッシュテーブルに戻す
:それはまたのキー/値のセットをあることが展開さ@{First=Joe; Last=Smith; Office=Detroit;}
:だからCSV文書は
First,Last,Office
Joe,Smith,Detroit
VS 2015でデバッガを使用してimport-csv "path to my doc.csv"
からの出力は、文字列は次のように可視化されます
First | Joe
Last | Smith
Office | Detroit
powershellでは、テーブル内の名前オブジェクトを$obj.First
として使用して、物事を進めることができます。しかし、私はその文字列をデータベースに保存することができず、使用可能なpowershellオブジェクトとして戻すことができません。私はいつも文字列リテラルで終わる。
この文字列をハッシュテーブル、または他のキー/値のペアに変換する方法はありますか?
私はこれを試して与えてくれた:
$data = ConvertFrom-String $raw -PropertyNames First,Last,Office
私は生の文字列の両方で、その中にプロパティ名で、ちょうど戻って文字列を与える、あることを試してみました。私は、また、アレイに元のハッシュに変換しました:
[string[]]$l_array = $raw | out-string
をその後IがConvertFrom-String
コマンドを使用してバック変換すると、それは実際値として、データ要素をシフトし、キーを追加します。
ありがとうございました。必要に応じて詳細やサンプルコードを提供することができます。
編集 もう一方は、現在のPSCustomObjectのデータを、より良い形式で保存して、同じPSCustomObjectに再構築する方法はありますか?おそらくExport-Csvが機能するかもしれないと思ったが、文字列にエクスポートすることはできない。少なくとも私が知る限り。
'Import-Csv'は、ハッシュテーブルではなくPSCustomObjectsの配列を生成します。 「見る時」とは何を意味するのか説明できますか?どのように結果を見ていますか? –
私は間違っているかもしれませんが、 'PSCustomObjects'の作成はハッシュテーブルと同じように利用されていませんか?私は明確にするために投稿を更新します。 –
@DaveSextonまた、タイトルを更新して、ハッシュテーブルではなく、PSCustomObjectのメモを反映させます。 –