人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

以下のようなcsvファイルがある時に

a,あ,1,11
b,い,2,22,ppp
c,う,3,33
d,え,4,44,444,ppp


ここから

b,い,2,22,ppp
d,え,4,44,444,ppp

とpppのついている行のみを抽出する方法をお教え願えますでしょうか


●質問者: porinki07
●カテゴリ:コンピュータ
✍キーワード:CSV PPP ファイル 抽出
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● riatan
●10ポイント

もしエクセルが使えるのでしたら、

そのCSVファイルをエクセルで開き、

どこか右のほうのあいている列に

=COUNTIF(A1:F1,"ppp")

といったような、その行全部が含まれる範囲を指定した関数を入れてみてください。

上記の例だと、A1?F1の範囲に"ppp"がある数を数えて表示します。

だから、

a,あ,1,11 の行では、0

b,い,2,22,ppp の行では、1

と表示されるはずです。

1つ上記の関数を入れたら、そのセルの右下にカーソルを合わせて、カーソルが十字の形になったら

そのまま下のほうにドラッグすると同じ関数をコピーすることができます。

これが終わると、関数を入れた列が0と1(または2以上)になると思いますので

上部メニューの「データ」→「フィルタ」→「オートフィルタ」をセットして

1の列を選択します。

2以上の列がある場合、オプションで「0以外」にする必要があります。

こんな感じですが、ものすごくわかりにくいですよね・・。すみません・・。

そもそもエクセルがなかったらもっとすみません・・。

http://kokoro.kir.jp/excel/countif.html


2 ● khoshi3
●60ポイント

普通にgrepで「grep ",ppp" csvfile.csv > result.csv」とするのはダメでしょうか?

UNIX系OSならふつーにgrepで、WindowsならcygwinかSFU(Service for UNIX)か、下記ソフト内のgrepコマンドでどうぞ。

http://www.vector.co.jp/download/file/win95/writing/fh131855.htm...

cygwin やSFUをご存知でなかったらこちらからどうぞ。:

http://ja.wikipedia.org/wiki/Cygwin

http://www.microsoft.com/japan/technet/interopmigration/unix/sfu...

ちなみに、もっとローテクでExcelで開いて「オートフィルタ」で抽出した後コピー、という方もいると思います。

◎質問者からの返答

ありがとうございます。

grepでできました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ