• ベストアンサー

windows上でのソフトの制御を覚えたいです。 必要な事はなんですか

データの管理の為、一日中PCに張り付いている事があります。 例えば5万件のCSVデータを ソフトAで分割 ソフトBで一致した条件抽出 ソフトCで抽出したデータに対する処理 ソフトDで出来上がった複数データを一括リネーム というような事をしています。若干変わる場合もあります。 そのような作業の効率をあげたくプログラミングを覚えたいです。 ・ソフトAが精製したデータをBに投げて、終わったらCにかけて…  のようなソフトとソフトを連結させるようなプログラム ・A~Dまでの作業を一括で完結させるプログラム 上記2つでしたらどちらでも良いです。 どの言語を選択し、どのような学習方法を取るのが 今回の質問の理想における最短ルートでしょうか。 習得スパンは毎日1~2時間程度は触って1~2年である程度の理解を得たいと思っています (最悪自身で組めなくてもプログラマさんの説明がぼんやりわかる程度までにはなりたい) また、参考になる書籍・WEB・スクール等あれば合わせてお教え下さい。 回答にあたり必要な情報があればお答えします。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.4

では。 ・入力はCSVファイル、つまりテキストファイル。 Perlが得意とする分野です ・取り込んだデータの処理 大抵のことはPerlでできます。 よって、一つのスクリプト(プログラム)で全てまかなえます ・学習のしやすさ 一時期はCGIと言えばPerlでした。現在でも主流の一つです。 よって、入門講座のたぐいがたくさんあります。 また、サンプルソースも多いので、B,C,Dの処理そのままのもあるかもしれません。 ・マルチプラットフォーム Windows版があります。 その他、主なOSでPerlが動かないものは無いといってよいでしょう ということで、今回の処理の自動化が目的とした最短ルートとして、Perlを選択しました。

songbird_2
質問者

お礼

よくわかりました。ありがとうございます。 Perlという言語がテキストファイルの扱いに優れているという情報は とても役に立ちました。これから少しずつPerl追ってみます。

その他の回答 (3)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

B,C,Dでどんな処理するかにもよりますが、私なら、Perlを使います。

songbird_2
質問者

お礼

私なら、Pealを使います。 の理由は何故ですか?私にはサッパリわからないかもしれませんが kmeeさんのセンスで説明してもらえませんか。 (文章から刺々しい感じがしますが、そんな気はまったくございません。すみません。お願いします)

  • 0909union
  • ベストアンサー率39% (325/818)
回答No.2

制御するなら、なにかしらの言語を使わないとだめですが、それには結構時間がかかります。 私なら、テストツールなどの自動化ソフトを使います。 これはエクセルなどについている、マクロの自動生成です。録画ボタンを押して、処理の手順をマウスやキーを使い、いつもの通り実行し終わったら、STOPボタンを押すと、それまでの操作を自動でマクロにしてくれる仕組みです。 ただ、本当にこれを自動化しようとすると、エラー処理を手動でいれなと、実用化になりません。 会社の馬鹿な上司は、その辺がわからないので、簡単にできると思っているようですが、自動であれば自動であるほど、そうでなかった場合の制御をどうするのか、何もわかっていません。 いい例が今のトヨタのアクセル、ブレーキ問題で、今のSUVの曲がる時の制御も全く同じ、「そうでなかったら」の問題が全く考えていないか、予測があまいのでしょう。 話がそれましたが、ソフトとしては「ロードランナー」とかになります。このソフト名で検索すると、ソフトのテストツールについて結構情報が拾えます。ロードランナーもいまいちですが、ソフトのテストツールは業務用にたくさんあるので、探してみてください。 質問内容の事なら、お試し版をDLして、1時間もあれば構築可能です。お試し版だと大抵配布不可です。 くどいようですが、1時間で構築したからといって、付属するインタープリターの言語が必要ではことは絶対にないので、きちんと言語の勉強しましょう。 たいていVBを基本としています。JavaScriptのもありますが、ごくまれです。VB 又は VBAを習っておけば、たいていのテストツールのインタープリターの言語はすぐ使えます。

songbird_2
質問者

お礼

テストツール。。。こちらも名前を初めて聞きます。 予備知識的にもそのぐらいの立場にいます。 このツールを使うにはVB及びVBAという言語になるんですね。 とにかく試してみることにします。ありがとうございます。

noname#111181
noname#111181
回答No.1

「Small Basic」(http://msdn.microsoft.com/en-us/ff384126.aspx)が適していると思います。マイクロソフト純正のBASICで、フリーソフトです。

songbird_2
質問者

お礼

「Small Basic」なる単語を初めて見ました。 初心者向け臭がプンプンですね(良い意味で) 試してみます。ありがとうございます。

関連するQ&A

  • 必要なデータを抽出したい

    必要なデータを抽出したい    A   B    C   D ・・・ 1 7/1   101   102  103 2 7/2   101   103 3 7/3   105   203 4 7/4   103   205 5 7/5   101   202 ・ ・    ・ ・ ・    ・ ・ ・    ・ Excelで上の様にA列に日付、B行列以降に数字が書かれているシートから、抽出したい数字が含まれている行を別シートに抽出するマクロはどのように書けばよろしいのでしょうか。 技術者の方、よろしくお願いします。 例えば、101が含まれているデータを抽出したら、sheet2に    A   B    C   D 1 7/1   101   102  103 2 7/2   101   103 3 7/5   101   202 となるようにしたいのです。

  • マイクロソフトのアクセスでいくつかのデータと組み合わせて、

    マイクロソフトのアクセスでいくつかのデータと組み合わせて、 数値を並べたり、○×をつけることは可能でしょうか? アクセス初心者です。 もし分る方がいたら教えていただきたいです。 (1)【3月の来店者】 Aさん Bさん Cさん Dさん (4)【3月のA購入者】 Aさん Cさん Dさん (5)【3月のB購入者】 Cさん Dさん (6)【来店者の来店回数】 Aさん 1 Bさん 4 Cさん 7 Dさん 2 上記データを使って下記のようなデータベースを作りたいと考えています。 来店者 A購入 B購入 来店回数 Aさん ○ × 1 Bさん × × 4 Cさん ○ ○ 7 Dさん ○ ○ 2 (1)来店者から(2)Aを買った人の抽出や (1)来店者の(4)来店回数を出すのは 選択クエリを使いだすことができたのですが このようにすべての来店者のデータをリスト化することは可能でしょうか? すべてのデータ抽出後にIF関数などを使いエクセルでなら行えるかもしれないのですが データが180万行あるのでアクセス内で行えたら嬉しいです。 説明がわかりにくくて申し訳ないです。。。 もし分る方がいたら助けていただきたいです。 宜しくお願いいたします。

  • エクセルで重複しないものだけを抽出したい

    下記のようなデータがあります。 A B C D 1 20 30 40 1 20 32 41 1 20 30 49 1 20 81 39 2 20 76 40 2 20 32 41 2 20 30 49 3 20 81 39 3 20 39 40 3 20 32 41 4 20 30 49 4 20 81 98 このうち、列Aの他と重複しない部分であり、かつ先頭行を抽出するにはどのようにしたらよいでしょうか? 上記の例で言うと、列Aの1から4までのそれぞれ1行目を選ぶという作業です。 抽出後 A B C D 1 20 30 40 2 20 76 40 3 20 81 39 4 20 30 49 vlookupなどの関数でできるのでしょうか?教えてもらえたらうれしいです。お願いします。

  • マイクロソフト Accessのクエリーについて

    Accessにおいて、 (1)A列、B列、C列をもつデータがテーブルにあります。 これに対して、 (2)A列、B列、C列、D列、E列をもつデータがテーブルに別途あるとします。 (1)に対して、(2)はA列、B列、C列に合致しているデータがいくつあるのか、            A列、B列のみ合致しているデータがいくつあるのか、           A列のみ合致しているデータがいくつあるのか、           A,B,Cいずれも合致していないデータはいくつあるのか? それぞれのデータを(1)と照らし合わせて(2)から抜き出そうとした場合には、 どのような抽出方法が効率いいのでしょうか?またクエリーは複数に なってもかまわないのですが、いずれかで抽出された(2)のデータはいずれも 重複して抽出されない、かぶらない(上から順に抽出をかける)ことを前提にした場合の もっとも適な抽出方法はありますでしょうか。 以下はおまけです(もし余力があれば) ↓ また3つ合致しているデータにはそのレコードの横に列を新しく追加して1とふる、   2つ合致しているのはそのコードの横に列を新しく追加して2とふる   1つ合致しているのはそのコードの横に列を新しく追加して1とふる   0つ合しているのはそのレコードの横に列を新しく追加して0とふる、 という作業をAccessでするとした場合、一致クエリー&更新クエリー&マクロ等で 実現できるのでしょうか? もしよいお知恵あればご教授いただきたく、 お願いいたします。

  • エクセルでこんな事出来ますか?

      A   B    C    D 1 鈴木  5   12   19 2 佐々木 7   15   26 3 鈴木  2   10   25 4 5 鈴木  2 5 10 12 19 25 6 佐々木 7 15 26 A1からD3のようなデーターから鈴木と佐々木の全ての数字を名前別に抽出したいのですか何か良い方法がありましたら教えて下さい。

  • エクセル:同じデータがあれば、同じデータの隣のデータを抽出する。

    エクセル:同じデータがあれば、同じデータの隣のデータを抽出する。 以下のようなエクセルデータがあります。A1からA3の中にC1があれば、 あったセルの隣のセルの値をD1に抽出したいです。 何か方法がありますでしょうか? お願いいたします。  EX: A B  C D 1 2  3 2 5  2 3 9  1 結果: A B  C D 1 2  3 9 2 5  2 5 3 9  1 2

  • プログラム制御

    既存のプログラムが有り解読を行っていますが理解不明です。ご教示を宜しくお願いします。コード内容は、 LOAD A (=6000) - B (=1500) STORE C (A-B→C) LOAD D (=350) - E (=10) STORE F (D-E→F) / C STORE G (F/C→G) * B + D STORE H ((G*B)+D→H) 本プログラムはモータのPID制御を行っており、その一部のコードです。 内容としては、一次方程式を形成し変動割合を導出しているのかと考えましたが一次方程式では+Dのコードが+Eであると思われます。 何を形成しているのでしょうか。

  • ライティングソフトについて

    neroを使っています。 これまでライティングソフトは差分のみの更新ができないものと思っていましたが、もう昔の話なのでしょうか? 具体的には 1/1に「A」 2/1に「A+B」 3/1に「A+B+C」 4/1に「A+B+C+D」となっていると思ってました。 これではすぐにデータが肥大化し使いづらいです。 ところがISOファイルを更新すると 1/1に「A」 2/1に「B」 3/1に「C」 4/1に「D」と差分だけ追記されているように思います。 これは差分だけ更新されていると考えてもいいでしょうか?やっとライティングソフトも使い勝手がよくなったと感じているのですが・・・

  • 重複しないデータのみを抽出

    初めまして。 初心者なりに頑張ってみたのですがうまくいかず、 エクセルかアクセスにて、下記内容を処理出来ないものか 質問させて頂きました。何卒宜しく御願い致します。 2つのデータを併せて、重複しないデータのみを抽出したいのです e.g. データ1=(a,b,c,d) データ2=(b,b,c,d,e) 求めている結果=(a,b,e) となります。 現状、手作業にてチェックしているので、 非常に時間がかかってしまい困っております。 何卒、宜しくお願いします。

  • 正規表現

    お世話になります。 カンマ区切りのデータの中からA=○○○のデータを取り出す正規表現を教えてください。 データの例 A=1000,B=300,C=500,D=200,...... A=200,B=200,C=300,D120 からA=○○○を抽出。 一応やってみたのが、”A=.*,”で検索してみましたが、 A=.....D=....すべて抽出してしまいます。 以上よろしくお願いします。