質問者
Import-CSVをパイプラインでつなぎたい

質問
-
解決済みです。
解決済みの場合は、どこをどうしたら良いのでしょうか。
---
すみません。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
すべての返信
-
かっこでくくるとかでしょうかね?
(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"
- 編集済み sutefu7 2019年12月4日 13:15
- 回答の候補に設定 FarenaMicrosoft contingent staff, Moderator 2019年12月11日 9:23
-
いったん変数に格納する必要があるという情報がよくわかりませんが、変数に格納しなくてもパイプライン処理は可能です。
データを加工・編集が?(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- 回答の候補に設定 FarenaMicrosoft contingent staff, Moderator 2019年12月11日 9:23
-
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.