電子書籍の厳選無料作品が豊富!

CSVファイルの1~9行目 と 11行目~13行目 を一発で削除するコマンド記述お教えいただけないでしょうか?
OS:Windowsです。

質問者からの補足コメント

  • あるフォルダにある、1つのcsvファイルを自動で処理したいです。

      補足日時:2025/04/02 17:08
  • 申し訳ありません
    これはこれで勉強になったのですが
    EXCELのVBAではなく
    あるフォルダにある、1つの*.CSVファイル 内の複数行を削除したいのです。
    ※説明が下手で申し訳ありません

    No.1の回答に寄せられた補足コメントです。 補足日時:2025/04/02 17:11
  • 画像を添付する (ファイルサイズ:10MB以内、ファイル形式:JPG/GIF/PNG)
  • 今の自分の気分スタンプを選ぼう!
あと4000文字

A 回答 (4件)

そのCSVファイルの文字コードは何でしょうか。

    • good
    • 1

AI君の回答



コマンドプロンプトを使用してテキストファイルの特定の行を削除するには、PowerShellスクリプトを利用するのが便利です。以下に、特定の行を削除するためのPowerShellスクリプトの例を示します。

例: テキストファイルの3行目を削除する
PowerShellスクリプトを作成する


$inputFile = "input.txt"
$outputFile = "output.txt"
$lineToRemove = 3

Get-Content $inputFile | Where-Object { $_.ReadCount -ne $lineToRemove } | Set-Content $outputFile
スクリプトを実行する

コマンドプロンプトを開き、以下のコマンドを入力してPowerShellスクリプトを実行します。


powershell -File path\to\your\script.ps1
例: テキストファイルの複数行を削除する
複数の行を削除したい場合は、以下のようにスクリプトを修正します。

PowerShellスクリプトを作成する


$inputFile = "input.txt"
$outputFile = "output.txt"
$linesToRemove = @(3, 5, 7) # 削除したい行番号を配列で指定

Get-Content $inputFile | Where-Object { $linesToRemove -notcontains $_.ReadCount } | Set-Content $outputFile
スクリプトを実行する

コマンドプロンプトを開き、以下のコマンドを入力してPowerShellスクリプトを実行します。


powershell -File path\to\your\script.ps1
これで、指定した行を削除した新しいテキストファイルが作成されます
    • good
    • 1

OSのコマンドプロンプトだけで、そんなことはできないですよ。


なんらかのプログラム言語が必要です。
    • good
    • 1
この回答へのお礼

ありがとう

お礼日時:2025/04/02 19:05

Sub Delete_Specific_Rows()


Dim ws As Worksheet
Set ws = ActiveSheet ' 現在アクティブなシートを取得

Application.ScreenUpdating = False ' 画面更新を停止(高速化)

' 1~9行目を削除
ws.Rows("1:9").Delete

' 11~13行目を削除(9行削除した後なので、元の20行目が11行目になる)
ws.Rows("11:13").Delete

Application.ScreenUpdating = True ' 画面更新を再開
End Sub
この回答への補足あり
    • good
    • 1
この回答へのお礼

申し訳ありません
これはこれで勉強になったのですが
EXCELのVBAではなく
あるフォルダにある、1つの*.CSVファイル 内の複数行を削除したいのです。
※説明が下手で申し訳ありません

お礼日時:2025/04/02 17:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!