Q&A
実現したいこと
PowerShellでcsvオブジェクト(PSCustomObject)のn行目を削除したいです。
該当のソースコード
PowerShell
1# csvのヘッダー 2$csv_header = @("key", "value") 3 4# csv 5$csv = @" 6aaa,bbb 7ccc,ddd 8eee,fff 9ggg,hhh 10"@ | ConvertFrom-Csv -Header $csv_header 11 12# n行目を削除する設定 13$remove_index = 2
この場合
key value --- ----- aaa bbb ccc ddd ggg hhh
となるようにしたいです。
試したこと
PowerShell
1$csv = $csv[0..($remove_index - 1)] + $csv[($remove_index + 1)..$csv.count]
これで一応目的の動作はできるのですが冗長でわかりづらいです。
また$csv = $csv~となっているので
$csvが大きかったり、削除したい行が多い場合処理が無駄に重くなりそうです。
もっと簡単にできる方法はないでしょうか?
あと$csvのメソッドを見てもそれらしいものは見つかりませんでした。
補足情報(FW/ツールのバージョンなど)
Name Value
PSVersion 7.3.3
PSEdition Core
GitCommitId 7.3.3
OS Microsoft Windows 10.0.19045
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2023/02/27 03:01