業界トップクラスの求人数を誇る転職エージェントPR

リクルートグループのコネクションを活かした非公開求人も充実、他にはない好条件の求人と出会える

2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PowerShellでCSVファイルの指定列以降を削除する方法

Last updated at Posted at 2025-03-17

以前BizRobo!のコミュニティで回答したものなのですが、なかなか良い題材だと思いましたので紹介します。

相談内容

ご相談内容の概要は以下の通りです。


CSVファイルの不要な列を削除する方法を知りたい。

例: 1〜26列目は残し、それ以降の列を削除したい。

BizRobo!上でCSVファイルからExcelファイルの変換を行うと、
かなり時間がかかりそうだったため断念した。

対象のCSVファイル情報:

  • 列数:50
  • 行数:14,989

相談内容についての補足

前提として、BizRobo!の標準機能では、CSVファイルをExcelファイルに直接変換することはできません。

CSVを1行ずつ読み取って変数に格納し、Excelに入力する方法もありますが、このデータ量では非効率です。
どうしても実施する場合は、VBAや他のツールを活用する方が良いでしょう。

また、BizRobo!の機能を使って正規表現やJavaScriptで処理する方法も考えられます。
しかし、BizRobo!ではCSVファイルの内容をアプリケーション内のメモリに読み込んで処理するため、大きなファイルを扱う場合は避けた方が無難です。

指定列以降の削除方法

結論: PowerShellを使用し、正規表現を使って必要な列を抽出するのが効率的です。

以下のPowerShellコマンドを実行すると、26列目までを残した新しいCSVファイルを作成できます。

(Get-Content [inputファイル名]) -replace '^((?:[^,]*,){25}[^,]*).*$', '$1' | Set-Content [outputファイル名]

それぞれやっていることを分解すると以下の通りです。

コマンドの解説

コード 説明
(?:[^,]*,) カンマで区切られたデータを取得
{25} 上記を25回繰り返す(1〜25列目)
[^,]* 26列目のデータ
.*$ 27列目以降のすべて
'$1' 26列目までを保持し、それ以降を削除
Get-Content CSVファイルをテキストとして取得
Set-Content 変更後のデータを保存

このPowershellコマンドを「ps1」拡張子の実行ファイルにしておき、コマンドラインから実行できるようにすればロボットからでも利用しやすいでしょう。

コマンド実行時の注意点:
実行ポリシーによってPowerShellスクリプトが実行できない場合は、以下のようにオプションを指定して実行してください。

powershell -ExecutionPolicy RemoteSigned -File [ps1ファイル]

まとめ

  • BizRobo!単体ではCSVファイルの不要な列を削除するのが難しい
  • PowerShellを使えば、簡単かつ効率的に特定の列以降を削除できる
  • ロボットでの実行も可能なため、BizRobo!と組み合わせて活用できる

参考リンク:Design StudioでPowerShellを使用する方法

ちなみに、このまとめはAIで生成させてみました。
全体の文章推敲については、ほとんど私が書いたままでしたが、コマンドの解説等Markdown記法の部分は良い感じにして見やすくしてくれました。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Qiita Conference 2025 will be held!: 4/23(wed) - 4/25(Fri)

Qiita Conference is the largest tech conference in Qiita!

Keynote Speaker

ymrl、Masanobu Naruse, Takeshi Kano, Junichi Ito, uhyo, Hiroshi Tokumaru, MinoDriven, Minorun, Hiroyuki Sakuraba, tenntenn, drken, konifar

View event details
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?