• 締切済み

テキストファイル読み込みにおける開始行および開始列指定

kote551の回答

  • kote551
  • ベストアンサー率0% (0/0)
回答No.2

カンマが1つ目と2つ目のデータを抜き出すなら FIND関数、MID関数を使ったらどうでしょう。 以下の数式をデータの件数分繰り返しては? no1 = FIND(",",テキストデータ,1) no2 = FIND(",",テキストデータ,no1 + 1) 答 = =MID(テキストデータ,no1 + 1,no2 - no1 - 1)

関連するQ&A

  • C言語による「テキストファイルの読み書き(fprintf)」について

    C言語による「テキストファイルの読み書き(fprintf)」について質問です ずぶの初心者ですが、既知のファイルの1行目に指定した文字列を付加させるプログラムを作りたいと思っています。 以下のように作りました。 ------------------------------------------------------------ #include <stdio.h> int main(void) { FILE *fp; fp = fopen("test.csv","r+"); fprintf(fp,"コントロールカラム1,コントロールカラム2,・・・(略)・・・,コントロールカラム56\n"); fclose(fp); return 0; } ------------------------------------------------------------ このとき「test.csv」の内容が以下のようであったとします。(容量は1MBくらいです。) 001,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj 002,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj ~(略) 5000,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj この状態でプログラムをコンパイルして実行すると、「test.csv」の内容が以下のようになってしまいます。(一行目が消える) AAA,BBB,CCC,DDD,EEE 002,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj ~(略) 5000,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj またcsvの行が増える度に妙な挙動になっていきます・・・(一行あいたり、先頭行が5行ほど消えたり) 希望する動作としては コントロールカラム1,コントロールカラム2,・・・(略)・・・,コントロールカラム56 001,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj 002,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj ~(略) 5000,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj のようになるようにしたいのですがどのようにすればよいのでしょうか。 よろしくお願いします。 (使用ソフト:Borland C++ Compiler, Cpad) 参考にしたサイトの項目:http://homepage3.nifty.com/mmgames/c_guide/17-01.html

  • sedで文字列の抜き出し

    ある一部分の文字列を抜き出したく、sedを使用したいと思って試行錯誤しております。 ↓あるファイル内の文字列 aaa bbb=ccc:ddd=eee:fff=ggg: aaa bbb=hhh:ddd=iii:fff=jjj: ※aaaとbbbの間はスペースです。 ※bbb,ddd,fffはある一定のキーワードです。 ※ccc,eee,ggg,hhh,iii,jjjはバラバラの文字列で長さも一定ではありません。 【質問】 上記の文字列の中でddd=の後の文字列(eee,iii)のみを抜き出したいです。 以下のようなsedを試してみましたが、 eee:fff=ggg iii:fff=jjj が抜き出されてしまいます。 sed 's/.*:ddd=\(.*\):\(.*\)$/\1/' 恐れ入りますが、皆様の知恵をお貸し下さい。

  • 外部ファイルからの指定行と指定文字の削除

    perlで、外部のCSVファイル(01_01.csv)を読み込み、「先頭の9行」とその行以降の「先頭9文字」を削除したものを [01_01_out.csv]として保存したいのですがどのようにしたらいいのでしょうか。 ご回答、よろしくお願い致します。 例) 読込ファイル:01_01.csv ---------------------------------------- AAA BBB CCC DDD EEE FFF GGG HHH 00:00:00,1 00:01:00,2 00:02:00,3 00:03:00,4 00:04:00,5 00:05:00,6 (略) 10:00:00,101 10:01:00,102 10:02:00,103 10:03:00,104 10:04:00,105 10:05:00,106 ---------------------------------------- 出力ファイル:01_01_out.csv ---------------------------------------- 1 2 3 4 5 6 (略) 101 102 103 104 105 106 ----------------------------------------

  • 配列の移動

    TEXTファイルに文字列を書き込んだり削除したり移動したりするプログラムを作成していますが、 aaa bbb ccc ddd eee fff ggg hhh iii このような内容を 1,aaa bbb ccc 2,ddd eee fff 3,ggg hhh iii のように上から順番に配列化して番号を指定して移動させたいのですが、 3の配列を2の上(配列1と配列2の間)や下(配列2と配列3の間)に移動するのにはどのようにしたら良いのでしょうか?

    • ベストアンサー
    • Perl
  • 大量データの一括変換

    aaa.bbb ccc.ddd eee.fff ggg.hhh 上記のようなデータが約1万行程度あるのですが、これを下記のようなユーザ名・メルアドに変換するコマンド等、お分かりになる方教えてください。ユーザ名・メルアドの間は半角スペースです。 ある程度自分で調べた結果awk等で出来そうな気がするのですが。。。 ユーザ名  メルアド   ↓     ↓ aaa.bbb aaa.bbb@hoge.com ccc.ddd ccc.ddd@hoge.com eee.fff eee.fff@hoge.com ggg.hhh ggg.hhh@hoge.com

  • EXCEL VBA 行列操作

    どなたか教えてください。 下記の様にA1からH5までの範囲に値がある行とない行があります。 空白セルを無視しA10に行列を操作し(行列入れ替え?)、さらに上詰め でコピーしたいのです(上にある行から列順に)。 よろしくお願いします。 例です  A   B   C   D   E   F  G   H 1 2                   aaa bbb 3 ccc ddd eee fff ggg 4 5 hhh ~ 10 aaa 11 bbb 12 ccc 13 ddd 14 eee 15 fff 16 ggg 17 hhh

  • perlでのcsv形式のテキストファイルの変換

    perlを使用してcsv形式のテキストファイルを下記のように変換したいと思っています。 【変換前】 10, abc , def , ghi ,jkl    ----1行目 10, abc , def , aaa, bbb   ----2行目 10, abc , def , ccc , ddd  ----3行目 11, abc , def , eee , fff   ----4行目 11, abc , def , aaa , ggg ----5行目 11, zzz , def , aaa , ggg  ----6行目 12, abc , def , aaa ,ggg ----7行目 12, zzz , def, aaa , ggg   ----8行目 【変換後】 10, abc , def , ghi ,jkl    ----1行目 11, abc , def , eee , fff   ----4行目 11, zzz , def , aaa , ggg  ----6行目 12, abc , def , aaa ,ggg ----7行目 12, zzz , def, aaa , ggg   ----8行目 変換内容はcsv形式のテキストファイルで、”,”で区切った先頭3列が 前の行の先頭3列と同じならその行は出力しない、といった 変換をしたいと思っております。 (例えば2行目ですと先頭3列は10, abc ,defになっており、  1行目の先頭3列と同じ文字列になっているためこの行は出力しない) 当方、Perl初心者で上記のようなことがPerlでできるかも よくわかっておりません。 そこで、上記のような変換はPerlで可能なのか、そしてもし可能であるのなら どのようにPerlで記述すればできるのか教えていただけないでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • VBAでCSV内にある改行を取る方法

    あるシステムが吐くcsvファイルの項目の中に改行が入っているものがあります。 例) 01,aaa,bbb(改行)bbb,ccc(改行) 02,ddd,eee,fff(改行) 03,ggg(改行)ggg,hhh,iii(改行) このCSVファイルをエクセルのマクロで読み込んでシートに展開したい のですが、項目中にある改行で別レコードを認識してしまいます。 結果) A B C D ---+---+---+--- 01 aaa bbb  bbb ccc 02 ddd eee fff 03 ggg ggg hhh iii これを以下のようにしたいのですが・・・ A B C D ---+------+------+---- 01 aaa bbbbbb ccc 02 ddd eee fff 03 gggggg hhh iii どうやればよいでしょうか? ご教授お願いいたします。

  • [VBA]改行入りのセルの値を配列に格納したい

    EXCELのA列に下記のような値が入っています。 ----------- "aaa bb cccc" ----------- "ddd" ----------- "" ----------- "eee fff ggg hhh" ----------- といったようにセルの中の値に改行があったり、 なかったり、値すらなかったりといった感じです。 これを改行区切りで配列に入れたいんですが、いい方法ありませんか? 上の内容を下記のような配列にしたいんです。 arrValue=Array("aaa","bb","cccc") arrValue=Array("ddd") arrValue=Array("") arrValue=Array("eee","fff","ggg","hhh") よろしくお願いします。

  • エクセル 関数 対象を全て抽出する

       列A  列B 行1  1   AAA 行2  2   BBB 行3  2   CCC 行4  1   DDD 行5  1   EEE 行6  2   GGG 行7  2   HHH 列Aが2であるものすべて抽出する方法? 結果が 検索値↓(手入力) 2 ↓ この表を作りたい 2 BBB 2 CCC 2 GGG 2 HHH