質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Q&A

解決済

1回答

152閲覧

PowerShellでcsvファイルを活用した指定項目の検索にて、出力結果に項目を追加付随する方法

NK.P0009

総合スコア6

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

0グッド

0クリップ

投稿2024/04/25 02:56

実現したいこと

csvファイルを活用し、データベースの中に該当する情報の有無を検索する際に
出力結果に対して検索したいリストの一部項目を付随して出力したい。

言葉だと分かりにくい為、添付画像で説明させていただきます。

発生している問題・分からないこと

イメージ説明

該当のソースコード

PowerShell

1#作業フォルダのパスを格納 2Param( 3 [String] $Arg1 = "path") 4 5#ログファイル出力先 6 $LogFile = “$Arg17 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等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

此方につきましても添付画像参照でお願い致します。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2024/04/25 03:34

やりたいことはおぼろげに表現されているので分かりますが、具体的な質問項目は何なのでしょうか? そういう修正をするに当たって、どの箇所で詰まっているのかが不明です。
NK.P0009

2024/04/25 04:55

otnさん、コメントありがとうございます。 質問項目としましては、実現したい事に書かせていただきました 「出力結果に対してCを付随させたい」という点です。 詰まっている箇所なのですが、otnさんのご指摘のように上手く表現出来ておらず 「csv 紐づけ 付随」等ではWEBで検索するにも想定の挙動をしたい参考ページを見つけられないという点になります。 失礼致しました。
otn

2024/04/25 05:17

端的に言うと「何から手を付けていいか分からず、質問する域に達していない」と言うことでしょうか? スクリプトの各行の意味が理解できていないのなら、まずその理解をするところからですね。
melian

2024/04/25 05:25

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
NK.P0009

2024/04/25 06:40

melian様、コメントありがとうございます。 おかげ様で自己解決の糸口のきっかけになりました。 今回の解決の際には使用させていただく事がなかったのですが、ご教授いただいた内容も 今後活用出来るように調べさせていただきます。 ありがとうございました!
guest

回答1

0

自己解決

melian様の助言のおかけでアプローチの仕方に問題があると気づきがあり
PowerShellでなくExcelのvlookupの利用で簡単に解決出来る事に気づきました。

ありがとうございました。

投稿2024/04/25 06:38

NK.P0009

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問