• 締切済み

自動化作業

 宜しくお願いします。 住所 氏名 年齢 東京 山田 22歳 大阪 田中 36歳 名古屋 永井 56歳 というcsvファイルを用意し、 <html> 住所:【住所】 氏名:【氏名】 年齢:【年齢】 </html> というベースがあるhtmlファイル(大量)のそれぞれの枠に順次自動で入れたいと思っています。 作業としては、csvファイルを読み込む、2行1列目を取り出す、2行2列目を取り出す、2行3列目を取り出す htmlファイルを開く、【住所】を検索、置換、2行1列目を取り出したのをあてはめる、【氏名】を検索・・・【年齢】を検索し、ファイルを閉じる、保存 という流れになるのでしょうが、その手法も実現出来るソフトも検討がつきません。 プログラムも全く出来ない素人なので、何かそんな感じのソフトでもあればと思って検索をしてはいるのですが、なかなか見つかりません。 かと言ってプログラムをゆっくり勉強している暇もないのが現状です。 何かいい方法はありますか? 宜しくお願いします。

みんなの回答

  • koke29
  • ベストアンサー率58% (114/196)
回答No.3

既存のHTMLファイルにCSVデータを一行分ずつ入れて保存したい っていうのがやりたいことなんですよね? 既存HTMLファイルを生かすのは諦めて、データを挿入したHTMLファイルを 自動生成しちゃう方が早いんじゃないかと思いました PHPは多少いじれるってことなのでPHPでの処理を提案すると 1.CSVファイルからデータ全件取込(foreachなど) 2.foreach内に生成するHTMLファイルの構成を入れる 3.foreach内でfile_put_contents辺りを実行 すると、外枠が同じで、同じ位置に欲しいデータが入っている HTMLファイルがCSVデータの件数分、勝手に生まれてくれます

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

ん~, 入出力の仕様がよくわからん (特に出力のファイル名をどうするかが分からん) のだけど, Perl ならほぼ一瞬で書けるような気がする. やったことないけど Excel で差し込みってのもできそうな気がする. ところで非常にどうでもいい疑問なんだけど, カンマで区切られていないファイルを CSV って言われるとなんか違和感を覚えるのはなぜだろう.

  • Gizensha
  • ベストアンサー率34% (207/608)
回答No.1

# 教えて!goo > [技術者向] コンピューター > プログラミング > その他(プログラミング) プログラム言語ならファイルや文字列を扱えるものなら(たいていの言語は扱えますが)可能です。 その中で楽をするならPerlあたりが情報量が多くていいのではないでしょうか。 Office系のソフトを使うなら差し込み印刷の応用で何とかなりそうな気もします。 「定型文 変数 フリーウェア」などをキーワードに検索すると何か見つかるかもしれません。

sunlnline
質問者

お礼

返信有難う御座います。 あれから色々調べていると、 UWSCというマクロソフトが便利かもと思いました。 perlではないのですが、phpならかじった程度には出来ますが いまいち、頭の中でリンクが出来ません。 差込印刷も同様です。 定型文 変数 フリーウェアでググってみました。 なんかこう、かゆいところに手が届きそうで届きませんorz 一番上のサンダーバードのが応用が利けばいいのですが。 引き続き探してみたいと思います。

関連するQ&A

  • JAVA CSV加工について

    いつもお世話になっております。 只今、JAVAのデータ(String)をCSVに出力する プログラムを作成しております String Head = "名前,年齢" String name = "山田,田中" String age = "19,27" ---CSV出力結果として--- 1列目を "名前,年齢" 2列目を "山田,19" 3列目を "田中,27" としたいのですがどうすれば良いのでしょうか 基本的な(そのまま出力)は出来ます。 宜しくお願いします

  • CSV形式のファイル名をCSVの先頭に入れる方法

    EXCEL CSV形式のファイル名をCSVファイルの先頭に入れるたいのですが,EXCELのマクロやBVなどで簡単にできるよい方法はないでしょうか。 例えば, ファイル名:  123_001.csv 123_001.csvの内容:  氏名,年齢  山田,25歳    ↓ の123_001.csvを  コード,氏名,年齢  123_001,山田太郎,25歳 というデータにしたいのです。 できれば,フォルダ内に保存されているCSVファイルを一括で処理したいのですが...。 例) 123_001.csvの内容:  氏名,年齢  山田,25歳 123_002.csvの内容:  氏名,年齢  吉田,30歳 123_003.csvの内容:  氏名,年齢  鈴木,50歳    ↓ 123_001.csvの内容:  コード,氏名,年齢  123_001,山田,25歳 123_002.csvの内容:  コード,氏名,年齢  123_002,吉田,30歳 123_003.csvの内容:  コード,氏名,年齢  123_003鈴木,50歳 よろしくお願いします。

  • Excelで頭数を算出する関数?

    こんにちは。 C列3行目から20行目に氏名があり、D列には個数があります。氏名欄には同一人物も載っているので、メンバーの人数を知るにはどの関数がありますか。 例えば3行目から6行目まではメンバーが3人という結果が出るようにしたいのです。 3 山田太郎 3個 4 佐藤花子 5個 5 田中次郎 6個 6 山田太郎 2個 メンバーは相当の数なので誰が何個売ったかは問題にしません。 宜しくお願いします。

  • エクセルで別ファイルのデータを読み込み自動入力させたいのですが

    【顧客リスト】というファイルのsheet1に、A列を氏名、B列を住所、C列を年齢の欄として複数行入力しています。 【見積書】というファイルのセルE20に氏名を入力すると、【顧客リスト】A列から同じ値の行を探し出し、その同行のB列の値を【見積書】のE21に自動的に入力されるようにしたいと思っています。 どなたかご回答の程、よろしくお願いいたします。

  • Excel(2010)で氏名の頻度の求め方

    Excel(2010)で、A列に縦に 山田 鈴木 田中 山田 鈴木 山田 というように氏名の並べてある表があるとします。この表で氏名の頻度が 山田 3 鈴木 2 田中 1 というように表示できる関数または方法があるでしょうか。 この表のように項目が少なければ 山田 鈴木 田中 というセルを作っておいて、VLOOKUP関数で求められますが、実際には約500行ありその中の氏名をすべて手作業で入力するのは大変ですので、重複なくすべての氏名を抜き出すのは実際的ではありません。 以上よろしくお願いします。

  • vbs csvファイル内の行を変更

    vbsにて、csvファイルを読み込み、 以下のように行の値を変更することは可能でしょうか。 変更箇所は1行目です。 <元csvファイル> 氏名 性別 年齢  <変更後csvファイル> フルネーム 男女 年 住所 電話番号 コードのご教示お願いいたします。

  • Excel Sheet を自動、セルにも自動でデー

    自動でできるのであれば、こういう事がしたいのですが、 初心者レベルでもできる方法があれば教えて頂けませんか。 <例> ・Sheet1:氏名、住所が書かれたリストがあります ・Sheet2:個人ファイル的な表があります ・Sheet2の表のセルに、Sheet1の氏名を自動で表示し、  Sheet1リストの氏名の数だけ、同じ表が書かれたSheetを自動作成したい。 ■Sheet1   A列   B列 1 田中  東京都 2 山田  神奈川県 3 鈴木  埼玉県 ■Sheet2  作成されている表のD3セルにSheet1のA1のデータ「田中」を自動で表記 ■Sheet3  Sheet2と同じ表のD3セルにSheet1の「山田」と自動表記された  新しいSheetが自動で作成されるようにしたい ■Sheet4  Sheet2と同じ表のD3セルにSheet1の「鈴木」と自動表記された  新しいSheetが自動で作成されるようにしたい Sheet1のリストと Sheet2の表が別のファイルで有る方が 対応が簡単ならでも別のファイルでもかまいません。 宜しくお願いします。

  • エクセルシートのファイルエクスポートについて

    エクセルの住所ファイル(複数行)を編集して、CSVファイル形式で1件単位に出力したいのですが、よいアイデアはありませんか? エクセルシートが下記の形式であります。CSV形式で単純出力すると行単位で改行されて出力されますが、複数行をまとめて1件のCSVファイルに出力し、アクセスに取り込みたいのですが、よいアイデア、サンプルPGMはありませんか?エクセルシートには特に関数、制御文字等は指定しておりませんが、1件データの終了行(6行目、11行名…)に制御項目を事前セットすること必要であれば、マクロ等でセットします。 1行目 ××住所録, 2行目 yyyy/mm/DD,(作成日) (※1行目と2行目は取り込まない) 3行目 氏名,田中,社員番号,1234567,所属コード,1000,所属名,営業部 4行目 郵便番号,123-4567,住所,東京都千代田区内神田1-1-1 5行目 電話番号,03-1234-5678,FAX番号,03-1234-5678 6行目 任意コメント欄,重要キーマン, 8行目 氏名,山田,社員番号,1234568,所属コード,2000,所属名,法務部 9行目 郵便番号, 以降約50件のデータが続く(※1行飛ばして、1件4行で編集されているシート) 出力方法  各行のデータ項目(田中,1234567,1000,営業部,123-4567,(住所),…)を出力 VB若葉マークであり、「FileSystemObject」を活用したらとの助言は頂きましたが、検索しましたが類似機能にヒットしませんでした。よろしくお願いします。

  • Access 表を結合したい

    かなりの初心者です。 以下の二つのテーブル(表1、表2)があるとします。 表1 氏名   電話番号      FAX番号 ------------------------------------------------ 田中   ×××-××××  ×××-×××× 山田   ×××-××××  ×××-×××× 井上   ×××-××××  ×××-×××× 田神   ×××-××××  ×××-×××× 表2 氏名   住所      ------------------------------------------------ 井上   ×××××××××××××× 田中   ×××××××××××××× 山田   ×××××××××××××× 田神   ×××××××××××××× この2つのテーブルから得られたいものは 氏名   電話番号      FAX番号     住所 ------------------------------------------------------------- 田中   ×××-××××  ×××-××××  ×××××× 山田   ×××-××××  ×××-××××  ×××××× 井上   ×××-××××  ×××-××××  ×××××× 田神   ×××-××××  ×××-××××  ××××××        です。クエリを使ってどうすればよいのでしょうか。

  • エクセルで、次のような自動入力をしたい

      A    B    C    D   E  ・・ AA 1 田中 鈴木 佐藤          山田 2 鈴木 山田              海岡 3 田中 佐藤              佐藤 というような表があり、AAの列に名前を入力したとき、 D1に「山田」、C2「海岡」と、その行に関してAA列に新規の名前が入力されたときにD1,C2に自動入力することは、VBAで簡単にできますか? 3列目には「佐藤」さんがすでいるので入力不要です。 よろしくお願いします。(マクロ初心者です)

専門家に質問してみよう