実現したいこと
csvファイルを活用し、データベースの中に該当する情報の有無を検索する際に
出力結果に対して検索したいリストの一部項目を付随して出力したい。
言葉だと分かりにくい為、添付画像で説明させていただきます。
発生している問題・分からないこと
該当のソースコード
PowerShell
1#作業フォルダのパスを格納 2Param( 3 [String] $Arg1 = "path") 4 5#ログファイル出力先 6 $LogFile = “$Arg1” 7 8 Start-Transcript $LogFile 9 10#.csvのパス → データベースから検索したいリスト 11 $SearchFile = “$Arg1\List_DB\*” 12#.csvのパス → 検索するデータベース 13 $DataFile = “$Arg1\\List_Search\*” 14# ログファイルの出力先指定 15 $ExportFile = “$Arg1\Result_Mail.csv” 16 17#ファイル読み込み 18 $SearchList = Get-Content $SearchFile -Encoding UTF8 19 $DataList = Import-Csv $DataFile -Encoding UTF8 20 21#検索リストを基に対象行を抽出 → 検索したい項目に変更 22 $Extraction = $DataList | Where-Object -FilterScript { $SearchList -contains $_.項目名 } 23 24#抽出した行のソート → 検索したい項目に変更 25 $Sort = $Extraction | Sort-Object -Property “項目名” 26 27#抽出リストのエクスポート 28 $Sort | Export-Csv $ExportFile -Encoding UTF8 -NoTypeInformation 29 30 Stop-Transcript
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
此方につきましても添付画像参照でお願い致します。
補足
特になし
やりたいことはおぼろげに表現されているので分かりますが、具体的な質問項目は何なのでしょうか?
そういう修正をするに当たって、どの箇所で詰まっているのかが不明です。
otnさん、コメントありがとうございます。
質問項目としましては、実現したい事に書かせていただきました
「出力結果に対してCを付随させたい」という点です。
詰まっている箇所なのですが、otnさんのご指摘のように上手く表現出来ておらず
「csv 紐づけ 付随」等ではWEBで検索するにも想定の挙動をしたい参考ページを見つけられないという点になります。
失礼致しました。
端的に言うと「何から手を付けていいか分からず、質問する域に達していない」と言うことでしょうか?
スクリプトの各行の意味が理解できていないのなら、まずその理解をするところからですね。
SQL の left join の様な事をするのであれば、Join モジュールを利用してもよいかと思います。(untrusted repository ですが)
PowerShell Gallery | Join 3.8.3
https://www.powershellgallery.com/packages/Join/3.8.3
本件の場合は以下の様になるかと思います。
$DataList | LeftJoin $SearchList -On 項目A
melian様、コメントありがとうございます。
おかげ様で自己解決の糸口のきっかけになりました。
今回の解決の際には使用させていただく事がなかったのですが、ご教授いただいた内容も
今後活用出来るように調べさせていただきます。
ありがとうございました!
回答1件
あなたの回答
tips
プレビュー