none
Import-CSVをパイプラインでつなぎたい RRS feed

  • 質問

  • 解決済みです。

    解決済みの場合は、どこをどうしたら良いのでしょうか。

    ---

    すみません。PowerShellに関する質問です。

    Import-CSVで取り込んだデータを、パイプラインで次の処理に渡す事は可能でしょうか。

    Import-CSVで取り込んだデータを加工するには、一旦、変数に保存する必要があるそうですが、

    出来ればパイプラインだけで(変数を使わずに)処理を完結させたいと考えています。

    次の様なコードはが実行出来れば理想的なのですが…。

    Import-CSV inPutFile.csv | ?{csvデータを加工・編集する処理} | Export-CSV outPutFile.csv

    実際は、次の様なコードを書いて実行しています…。

    $a = Import-CSV inPutFile.csv

    $a |  ?{csvデータを加工・編集する処理} 

    $a | Export-CSV outPutFile.csv

    何かパイプラインだけで処理を完結させる良い方法はないでしょうか。

    宜しくお願いします。



    • 編集済み aerojamit 2019年12月5日 3:12
    2019年12月4日 11:06

すべての返信

  • かっこでくくるとかでしょうかね?
    (Import-Csv test3.csv) | Where-Object { $_.Weight -gt 60 } | Export-Csv output.csv

    test3.csv
    Name,Height,Weight
    taro,80,93
    jiro,40,75
    siro,30,22
    hana,50,28

    output.csv
    #TYPE System.Management.Automation.PSCustomObject
    "Name","Height","Weight"
    "taro","80","93"
    "jiro","40","75"

    2019年12月4日 13:13
  • いったん変数に格納する必要があるという情報がよくわかりませんが、変数に格納しなくてもパイプライン処理は可能です。
    データを加工・編集が?(Where-Object)で記載されていますが、%(Foreach-Objecgt)ではないでしょうか?

    インポートするCSV
    Schema Name
    ------ ----
    dbo    tbAuthorization
    dbo    tbAutoDeploymentRule
    dbo    tbCategory
    dbo    tbCategoryInSubscription
    dbo    tbCategoryType
    dbo    tbChangeTracking
    dbo    tbConfiguration
    dbo    tbConfigurationA
    dbo    tbConfigurationB
    dbo    tbConfigurationC

    import-csv .\table_list.csv -Delimiter ',' |%{$_.Name}

    出力結果
    tbAuthorization
    tbAutoDeploymentRule
    tbCategory
    tbCategoryInSubscription
    tbCategoryType
    tbChangeTracking
    tbConfiguration
    tbConfigurationA
    tbConfigurationB
    tbConfigurationC

    2019年12月5日 0:16
  • ご回答頂きまして、ありがとうございます。

    コードまで書いて頂き、ありがとうございます。

    使わせて頂きます。m(__)m

    2019年12月5日 2:59
  • ご回答頂きまして、ありがとうございます。

    コードまで書いて頂き、ありがとうございます。

    カッコで括って動きました。m(__)m

    2019年12月5日 3:01
  • 解決済みです。

    解決済みの場合は、どこをどうしたら良いのでしょうか。

    解決に至った回答に対して「回答としてマーク」をしてあげてください。
    2019年12月5日 6:36
  • aerojamitさん、こんにちは。フォーラムオペレーターのFarenaです。

    TechNetフォーラムにご投稿くださいましてありがとうございます。

     

    問題が解決することでなによりです。

     

    参考になった投稿には「回答としてマーク」をご設定ください。

     

    [回答としてマーク]機能は設定された投稿が後から参照しやすくなりますので、

    同じ問題でお困りの方のためにも参考になった投稿に設定いただけますと幸いです。


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2019年12月9日 7:34
    モデレータ