• 締切済み

CSVからの抽出方法

ham_kamoの回答

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

OSは何でしょうか。 Unix/Linuxなら、 grep 特定の文字列 xxx.csv > yyy.csv Windowsなら、 FINDSTR 特定の文字列 xxx.csv > yyy.csv

関連するQ&A

  • Powershellでcsvから列を抽出しcsv

    Windows10のPowershellについて教えてください。 コマンドライン上の1行で、CSVを入力して指定する複数の列を抽出し、CSVを作成したいです。行頭に列名はありません。 出力の際に、コンマ(,)は必要です。 例: 5列あるCSVから、2列目と4列目を抽出する 入力    ー>  出力 A,B,C,D,E     B,D F,G,H,J,K     G,J L,M,N,P,Q     M,P よろしくお願いします。

  • 複数CSVファイルからデータ抽出

    CSVファイルのA列(行は問いません)の文字が転記シートのA列(行は問いません)と一致していたら、転記シートのA列が一致した行の空白に、左から順にCSVファイルのA列が一致した行のF列の値を書き込む。CSVファイルの1行A列を転記シートのF列の値を書き込んだ列の1行目に書き込む。 できれば、書き込んだ値はCSVファイルから消したいです。 コピペでやっていたのですが、ずれていてどうしようもなくなりました。 CSVファイル一つ当たり、4000行ほどあり、ファイルは200弱あります。 プログラムを組んでくださると、ありがたいのですが。 質問というよりお願いになってしまいますが、よろしくお願いします。

  • 毎日DBのデータをCSVに抽出したい

    タスクスケジューラで定期的に「SQL」を発行させてデータをCSVファイルにはきだしたいと思っています。 対象のdbがOracle、DB2、MySQLです。 悩んでいることが2か所あります。 抽出条件のSQLはSQLファイルに書いて簡単に実現できるのですが、 ・毎日CSVを作るためファイル名に日付を入れたい ・抽出条件に特定の日付を入れたいのですが対象のテーブルでは日付を日付型でもっておらず文字列です 例:20110206 どのようにすればいいでしょうか? ひとつのSQLファイル内で実現は不可能でしょうか?

  • ログファイルに記録されているイベントを抽出したい。

    ログファイルに記録されているイベントを抽出したい。 http://okwave.jp/qa/q6004361.html 上記にて質問させて頂いているのですが、要領を得ない状況になっているので、 再度記載を改めて質問させて頂きます。 あるアプリケーションのログファイルを読み込み、 記載内容に沿ってcsvファイルにて結果出力をするvbscriptの、 具体的なコーディングの内容を教えて下さい。 処理内容は 「ログファイル」を読み込み、「特定文字列1」を検索し、 マッチした行があれば、同じ行にある「USER????」という文字列を抽出、 行ごとの結果としてcsvファイルに以下のように書き込みます。 YYYYMMDD,USER0001,1 YYYYMMDD,USER0002,1 YYYYMMDD,USER0004,1 YYYYMMDD,USER0031,1 YYYYMMDD,USER0032,1 (最後の1はフラグとして使用) 出力csvは以下の見出しが書かれている「空.csv」に上記結果を追記で出力を考えています。 DATE,USERNAME,event1 同様に「特定文字列2」~「特定文字列8」を検索し、イベントごとに同じ処理を実施します。 ロジックに不明点があればご指摘下さい。 よろしくお願い申し上げます。

  • csvファイルを開かずに文字を検索し行を抽出したい

    フォルダの中に複数のCSVファイルが有ります。 これらのファイルを開かずに文字列を検索し、検索対象の文字と完全一致する 文字がある行をまとめてひとつのファイルに抽出する方法を探しています。 例:Aフォルダ内にファイル1、ファイル2、ファイル3、、、と複数のファイルがある。 ファイルのフォーマットはすべてCSV。ファイルにはシートは一つのみ。日付なのですべて異なります。       A         B  C   D   E   F  G   H   I   J  K   L 加工年月日時分 品種 コード A列 B列 C列 D列 E列 F列 G列 本数 作業者    ・    ・    ・ A~Lまであり、Cのコードが指定した検索文字と完全一致するものを抽出したいです。 急ぎの内容の為、VBAやコマンドプロンプトなど、自分なりに色々なサイトにある プログラムを組み換えようとしましたが初心者の為すぐに理解して応用はとても 無理でした。知恵を貸して頂きたいです。

  • エクセルで特定の列だけを抽出してcsvで保存したい

    エクセルで特定の列だけを抽出してcsvで保存したい 例えば、A列:住所、B列:氏名、C列:電話番号といった3つの列がありそれぞれデータがはいっているとします(図参照)。 そしてcsvとして書き出すときにB列とC列だけを書き出したい場合どのようにすればよいでしょうか。 この場合、書き出すときにA列だけを一旦削除、などということはしたくないです。 また1列目のタイトルも書き出さないようにしたいです。 ご教授よろしくお願いいたします。

  • VBA でCSV集計

    VBAをはじめて1ヶ月のものです。 VBAの集計ツールを作成していますが 思うようにいかず、お知恵をお借りしたいと考えています。     abcというフォルダ配下に以下のように4桁の日付を示す フォルダが日付毎にあります。(いくつあるかはわかりません。) さらにその配下にいくつかのcsvファイルがおいてありますが aaa.csvというcsvのみ抽出し 最終的には合体.csvのような集計CSVを作成したいと考えています。 以上よろしくお願いいたします。 (1) abc → 0812フォルダ <aaa.csv>     A列     B列    C列 1行 100     200    8月12日                       2行 100     100 3行 200     200 4行 300     100 5行 100     100 6行 200     200 7行 400     100 8行 100     100 (2)abc → 0813フォルダ <aaa.csv>      A列     B列     C列 1行   0      300    8月13日              2行 100      100 3行 100      200 4行 100      200 5行 100      200 6行 300      200 7行 300      400 8行 200      100 ↓ (3)<合体.csv>     A列     B列      C列     D列     E列     F列     G列    (日付)  (A1~A4計)(A5~A8計)(合体B+C)(B1~B4計)(B5~B8計)(合体E+F) 1行 8月12日   700      800     1500     600     500     1100 2行 8月13日   300      900     1200     800     900     1700

  • 特定の記号の数による、任意の文字行からの抽出。

    文字行がありB2からB15まで、A列の記号で表しています。文字行は任意です。 B列の文字行を特定の記号の数で抽出するとB2からB8までをC列からG列までのように表せます。 A列  B列     C列    D列  E列   F列   G列 1記号・ 文字行 抽出記号    2〇・・△△〇・・・〇・・・・・〇・・・・・〇・・・・・△△・・・〇                3△・・△△〇・・・〇・・・・・〇・・・・・〇・・・・・〇・・・・・△△                  4凵・・凵〇〇・・・凵・・・・・凵・・・・・凵・・・・・〇〇・・・〇〇                   5И・・凵И△・・・凵・・・・・凵・・・・・И・・・・・凵・・・・・凵                6・・・・И△△・・・И・・・・・△△・・・△△・・・И・・・・・И 7・・・・△△△・・・△△△・△△△・△△△・△△△・△△△      8・・・・凵И△・・・△・・・・・И・・・・・凵・・・・・凵・・・・・凵 /・・・・ 15・・・ 特定の記号の数:4種 B2:B8で、列に 1)〇が総数2コ 2)凵が2コ 3)Иが1コ で、 空白なしとします。 こんな文字行があり、特定の記号の数を1)2)3)とすると、C列からG列のようになります。 文字列に空白がない、こんな抽出をしたいのですが、 このような抽出はどうすればよいでしょうか、どなたか教えていただけませんか。 よろしくおねがいします。

  • 複雑な抽出条件のプログラム

    お世話になります。 現在事務作業で、あるアプリケーションから吐き出される、 カンマ区切りのCSV形式のテキストデータを特定条件で 必要項目を抽出しExcelに貼り付けるという作業を手作業で行なっております。 それをプログラム化出来たらなと思い質問してみました。 作業内容なのですが、 まず、1行目がテキストデータ(日付などが記載されている)となっており、 実データが2行目から書かれており、 3列目の項目に特定の数字がある行の中から、 さらに5列目の項目に特定の文言(2バイト文字)を見つけ、 5列目と重複する行は、破棄。 ただし、10列目の日付(YYYY/MM/DD)の、MMが違えば残す。 そして、その残った行の中から、1,2,3,10,11,13列目のみをエクセル等で吐き出す。 という作業を3ヶ月ほど、エクセルのフィルターという機能を使いながらやっているのですが、 200件、300件となると、相当な時間がかかり、下手するとExcelの桁あふれ、 65000行超えやメモリー不足で固まったり…となかなか大変です。 この作業を何とか一本のプログラム?マクロと言いますか、VBAと言いますか、 そういった物を使って効率化できないかと考えています。 当方、プログラム等使ったこともなく、またExcelの関数を使ってみたのですが あまりに複雑すぎて挫折してしまいました。 こちらに居られる皆様に、この難しい抽出⇛書出を行ういい方法があれば教えて下さい。 今後、吐き出されるCSV形式が変わった時でも対応できるよう 自分でも理解して使いたいと思っています。 当方の環境、WindowsXP、Office2007となります。 よろしくお願いします。

  • CSVの空カラムの置換

    空カラムに対して文字列を入れるバッチを作成したいのですがうまく動作いたしません。 下記のようなtest.csvがあります。 abc,12345 def, xyz,98765 2行目が空カラムになるためここに特定の文字列「¥-」を入れ 下記のようなCSVを生成したいです。 abc,12345 def,¥- xyz,98765 実際にはこれが数百行あり、いくつか空カラムがある想定です。 タスクスケジューラーで実施するため、簡単にbatファイルで出来ればと思っています。 ご教示いただけますか?