Javaで複数行のデータを1行にまとめる方法は?

このQ&Aのポイント
  • Javaにおいて、複数行のデータを1行にまとめる方法はどうなるのかについて解説します。
  • 入力データから特定のカラムのデータを抽出し、1行にまとめる方法をJavaで実装することができます。
  • プログラミング初心者でも理解しやすいシンプルなコーディング例を示します。他の言語よりもJavaが作りやすいです。
回答を見る
  • ベストアンサー

各行のあるカラムのデータを抽出し、1行にまとめたい。

C939300A CNTLUNIT CUNUMBR=A000,UNIT=3990,UNITADD=((00,64)), X PATH=(31,41),LINK=(FB,FB),CUADD=0 C939300B CNTLUNIT CUNUMBR=A020,UNIT=3990,UNITADD=((00,64)), X PATH=(51,61),LINK=(FB,FB),CUADD=0 という入力データから、1行目のA000、64と 2行目の31、41、4行目の51、61というデータを 抽出して A0006431415161 という1行のデータに書き換える場合、 JAVAではどういうコーディングが考えられるでしょうか。 シンプルなものがいいのですが。 また、Javaではなくアセンブラとか他の言語のほうが 作りやすいでしょうか? プログラミング初心者です。 よろしくおねがいします。

  • Java
  • 回答数2
  • ありがとう数1

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

  • ベストアンサー
  • chi-kon
  • ベストアンサー率43% (58/132)
回答No.2

テキストファイルであるならば ファイルの一行目をよんでStringに格納します。 そのあとString#indexOf("CUNUMBR=")とsubstringメソッドをうまく使えば取れると思います。 こういうやり方だとちょっとしたフォーマットの変更によわいんですけどね。。。

taiman9672
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • chi-kon
  • ベストアンサー率43% (58/132)
回答No.1

入力データはどのようなものからくるのですか? 本当にこのまんまの入力がくると考えればいいですか? それともこのような形のファイルを読み込むとか DBからとってきているとか。 その辺が分からないとどうしていいのかわかりません。 1行目のA000の位置が必ず何文字目にくるという保証があるのかないのかなどなど。

taiman9672
質問者

補足

すいません。説明不足でした。 入力データはただのテキストファイルのデータです。 一番左の文字が1カラム目と数えます。 やはりアセンブラでないとダメですかね。

関連するQ&A

  • 抽出された1行おきのデータだけを合計したい

    1行おきのデータだけを合計するという方法は過去の情報を見て習得し便利に使わせて頂いております。 実は、今回フィルターで抽出されたデーターの1行おき合計を実施したいのです。 私の部下が、1グループの情報を複数行にまとめて表を作成したために今回のような質問に至りました。 なまえ 血液型  身長  ****            体重 --------------------------------- Aさん  O   176 Aさん  O    71 Bさん  A   155 Bさん A    60 Cさん  O   180 Cさん  O    76 *** ***  これは本当に例えの表なんですが、O型だけの人間の体重の合計を計算させたいのです。血液型だけの指定での合計なら他の方法も・・ということもあるでしょうが、他に複数の条件等を指定して抽出させることを考えますと、フィルターで抽出条件を任意に指定して抽出を考えたいのです。抽出後の表示されたデーターから合計を算出する方法・・ さてこんなこと出来ますか?

  • エクセルで、データのある行だけを抽出したい。

    エクセルのSheet1にデータが入っており、セルが空白でない行のデータのみを、Sheet2に抽出したいと思っています。 Sheet2にあらかじめ関数を入れておく方法にしたいため、関数について教えてください。 タイムテーブルで予定を管理するような表で、A~Hまでにデータが入っています。 予定を入れる際にはE列には必ず入力をするため、E列が空白でない行のみを抽出したいです。 A|B|C|D|E|F|G|H 月|日|時間|… 11|22|10:00|… 11|22|10:30|… 時間枠は10:00~17:00の30分刻みで、1日15行使用するので、1年で5475行まで使用します。 1行目はタイトル行なので、データは2行目から入力しています。 フィルタオプションで抽出する方法や、それをマクロで登録しておく方法は分かったのですが、あとから予定を追加することがあるため、マクロを実行する度にデータが置き換わると困ってしまいます。 また、抽出したSheet2のI列以降には備考などを入力したいため、やはり後から列がずれると困るため、A~H列に関数を入れておく方法で実行したいと思います。 よろしくお願いいたします。

  • Excelにてデータ行抽出

    Excelで検索をかけたいのですが、     ○○社  ■■社  △▲社 機材用 A-1  B-1  C-1 部品用 A-2  B-2  C-2 その他 A-3  B-3  C-3 上記のような表で『A-1』を検索したときに、     ○○社  ■■社  △▲社 機材用 A-1  B-1  C-1 のように同じ行の他社の商品まで表示できるようにしたいのです。 理想としては http://homepage3.nifty.com/bear/sample/sample2.htm こちらのサイトの『データ行抽出』のサンプルと同じようにしたいのですが、どのような操作をすればこのようになるのでしょうか。 面倒な質問ですが、どなたか回答をお願いいたします。

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

    必要なデータを抽出したい    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 となるようにしたいのです。

  • データ(行)の抽出について

    こんにちわ。 件名の通りなのですが、もし方法をご存じの方がおりましたら ご教授頂けると幸いです。 Excelにて作成したカレンダーをwebページに取り込みたいを思ってます。 1日1~数行で構成され、列には過去にその日に起こった出来事が記入されています そのデータを、当日の行だけを引っ張ってくることは可能でしょうか? おそらく日別にシートorBOOKを作成すれば可能だとは思うのですが 1つのシート(月別)から行だけを抽出することはできるのでしょうか? それと実現可能な場合毎朝自動で更新は可能でしょうか? それとも毎朝手動で差し替えが必要でしょうか? できればhtmlで実現したいのですが、不可能な場合他の言語で実現可能な ものがあれば教えていただけると助かります。 よろしくお願いいたします

  • C/C++でデータをプログラムの後につけたい

    アセンブラだとコードの後にデータをつけるようなことがたやすくできますが C言語系(API)でプログラムの後にデータをくっつけるようなコーディングはできるのでしょうか? プログラム部分では尻のデータにアクセスするようにします よろしくお願いします

  • Excel データの抽出について教えて下さい。

    初めて質問させて頂きます。 Excelでデータの抽出と言ったらいいでしょうか・・・ 「一定の条件に当てはまった場合に、別のセルに数字を入力する」 というような処理をしたいのですが、データ量が多くて、 どのようにやったら効率がいいのか、頭を悩ませています。 例えば・・・       A列  B列 1行目  111   A 2行目  112   B 3行目  115   C 4行目  115   C 5行目  118   D といったようなデータが1500件ほどあります。 このデータを使って、A列の中で番号が2つ(又は3つ等)あるものに、      A列   B列  C列 1行目  111   A 2行目  112   B 3行目  115   C    1 4行目  115   C    1 5行目  118   D といった感じで決まった数字を表示する方法がないでしょうか? こんな説明でご理解頂けるかどうか、心配なんですが・・・。 いい方法をご存知の方がいらっしゃいましたら、力を貸して下さい。

  • エクセル、任意の「行」だけを抽出したい。

    こんなことできますか? A1:F100のセル内にランダムに数字が入っています。 質問1) この中から 1行目→3行目→5行目と一つ飛ばしで入っているデータを抽出してH1:M100の範囲内に表示させるにはどのような操作をすればいいのでしょうか?関数とかで簡単に抽出表示させる技とかあればいいのですが・・・。 A1-B1-C1-D1-E1-F1 A2-B2-C2-D2-E2-F2 A3-B3-C3-D3-E3-F3 A4-B4-C4-D4-E4-F4 A5-B5-C5-D5-E5-F5 A6-B6-C6-D6-E6-F6 A7-B7-C7-D7-E7-F7 ・・・ A100-B100-C100-D100-E100-F100 の中から A1-B1-C1-D1-E1-F1 A3-B3-C3-D3-E3-F3 A5-B5-C5-D5-E5-F5 ・・・ を抽出して H1-I1-J1-K1-L1-M1 ・・・ H100-I100-J100-K100-L100-M100 の範囲内に表示させたいです。 質問2) 同様に、 1行目→4行目→7行目と二つ飛ばしで入っているデータを抽出してO1:T100の範囲内に表示させるにはどのような操作をすればいいのでしょうか?関数とかで簡単に抽出表示させる技とかあればいいのですが・・・。 ※ 説明がわかりにくいかもしれませんが、よろしくお願いします。

  • エクセルでデータの抽出する際に困っています

    エクセルで特定の行のデータを抽出する方法を教えてください。 抽出方法を以下に示します。     A   B   C   D   E   F   G   ---------------------------------- 1l  10   11   0   0   0   0   0 2l  12   13   0   0   0   0   0 3l  14   15   1   2   3   4   5 4l  16   17   0   0   0   0   0 5l  18   19   0   0   0   0   0 6l  20   21   6   7   8   9   10 7l  22   23   0   0   0   0   0 というような感じのエクセルデータに対して、     A   B   C   D   E   F   G    ---------------------------------- 1l  14   15   1   2   3   4   5 2l  20   21   6   7   8   9   10 というように、C~G列が0でない行のA~Gのデータを別シートに抽出したいのですが、 簡単な方法があれば教えていただきたいです。 よろしくお願いします。

  • データの抽出について

    エクセルの関数について質問します。 あるデータから特定の文字を含む行などを抽出する場合、通常オートフィルター機能を使いますが、これを関数で抽出することはできますでしょうか? 日付が入っているデータ(200行くらい)からある特定の日付で、さらに特定の文字を含まれているものを抽出し利用したいと考えています。 AND関数を使った場合、特定のセルで指定(たとえばB2='2007/3/1'、C2='ある特定の文字')はできるのですが、B2:B100の中から='2007/3/1'でなおかつ、C2:C100='ある特定の文字'といった絞り込みができずに苦戦しています。 よろしくお願いいたします。

専門家に質問してみよう