CSVファイルの読み込み後にsplitを行っても何も返ってこない問題について

このQ&Aのポイント
  • CSVファイルをloadVarsを使って読み込んだ後、splitを行っても何も返ってこない問題について質問させてください。
  • 変数に落とさずに直接splitを行っても同じく何も返ってこない状況です。
  • テキストの改行コードがWindows形式であることは確認していますが、それでも問題は解決しませんでした。
回答を見る
  • ベストアンサー

CSVファイル 読み込み後のsplit

loadVarsを使い、CSVファイルを読み込んだ後で、 そのテキストを一度変数に落としてから splitしようとすると、何も返って来ません。 ----- var nText = String(bSuccess_text); gMessageList = nText.split("\r\n"); ←ここ ----- ※bSuccess_text、nText にテキストが来ているのは確認できています。 ※テキストはwindows改行であることを確認しています。 ※splitの値をカンマとか、別の物(1文字のもの)にしてみても同じく何も返って来ません・・。 ※変数に落とさない状態でもダメで、念のためにつけているstring() を外してもダメでした。 どなたかご存知の方がいらっしゃいましたら、よろしくお願いいたします。

  • Flash
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • noias
  • ベストアンサー率82% (23/28)
回答No.1

splitしなければ、何か返っていますか? csvファイル以外なら、その方法で読み込めますか? 以上のことを確認されると、随分状況が明確になると思います。

akira_
質問者

お礼

回答ありがとうございます。 この件なのですが、デバッグモードの時に 確認できないだけで、実際にtraceしてみると 分割できていました。 どうもお騒がせして申し訳ないです・・

関連するQ&A

  • FLASHでCSVを配列で読込後、読み込んだ配列を関数の外で使いたい。

    FLASHでCSVを配列で読込後、読み込んだ配列を関数の外で使いたい。 下記のスクリプトでCSVから配列を取り込みましたが、 関数の外で、「csvRows」変数の中身を見る方法が分かりません。。 var csvLoader = new LoadVars(); var theFileObj = new LoadVars(); var theFile = csvLoader.sendAndLoad("test.csv",theFileObj,GET ); var csvRows = new Array(); theFileObj.onData = function(src) { var theFileArray = src.split("\r\n").join("\n").split("\n"); var theFieldNames = theFileArray[0].split(","); var numberOfFields = theFieldNames.length; for(var j=0; j<numberOfFields; j++){ theFieldNames[j] = removeQuotes(theFieldNames[j]); } for(var i=0; i<theFileArray.length; i++){ var tempArray = theFileArray[i].split(","); csvRows.push(tempArray); } } function removeQuotes(theString){ if (theString.charAt(0) == '"' || theString.charAt(0) == "'") { return theString.substr(1, theString.length - 2); }else { return theString; } }

    • ベストアンサー
    • Flash
  • 外部テキストをsplitで分割する時

    宜しくお願いいたします。 外部テキストをsplitで分割しようと思うのですが・・。 スクリプトはこんな感じになっています。 System.useCodepage = true; // Shift-JISのテキストを読み込む設定に変更 myText01 = new LoadVars(); // 新規LoadVarsオブジェクトmyTextの作成 txt_file01 = "text/text001.txt"; // 外部テキストファイル名を変数txt_fileに代入 myText01.load(txt_file01); // 外部テキストファイルの読み込み _root.bp=t001 //変数 myText01.onLoad = function(ok) { if (ok) { // 外部テキストファイルを読み込んだときの処理 work_txt = myText01._root.bp.split("~"); と書いて、text/text001.txtというテキストのt001という行を"~"で分割したいのですが、うまくいきません・・・。 変数でオブジェクトを指定しているのが悪いと思うのですが、何か良い方法はありますか? 何分初心者なもので・・・。 説明がわかりづらいかもしれませんが、困ってしまっているので宜しくお願いいたします。

    • ベストアンサー
    • Flash
  • エクセルで編集したCSVファイルを読み込むときに

    よろしくお願い致します。 エクセルで編集したCSVファイルを読み込み、HTMLとして表示するCGIがあります。 エクセルでCSVファイルを編集すると最後の項目の後にカンマ(,)が付かないのですが、 使用しているCGIでは、カンマがないと行が改行されたとみなされません。 行の最後にカンマがなくても行を改行させるには、どのようなコードを追加すればよいのでしょうか? CGIのCSVファイルの読み込みする部分のコードは以下のようになっています。 # ログファイル読み込み my $LOG_FILE = 'log.csv'; my $io = IO::File->new($LOG_FILE, 'r') or die $!; flock($io, 1); while(my $line = $io->getline) { push @ids, (split(/,/, $line))[0]; push @new_checks, (split(/,/, $line))[1]; push @dates, (split(/,/, $line))[2]; push @contents, (split(/,/, $line))[3]; push @contents2, (split(/,/, $line))[4]; push @contents3, (split(/,/, $line))[5]; push @contents4, (split(/,/, $line))[6]; push @contents5, (split(/,/, $line))[7]; push @contents6, (split(/,/, $line))[8]; } 分かりにくい説明で申し訳ありません。 補足説明も致しますので、どうぞよろしくお願い致します。

    • ベストアンサー
    • CGI
  • Excel VBAにてCSVファイルを読みたい

    ExcelにてCSVファイルを読んで処理をしたい。 ただし、CSVファイルをExcelでopenすると遅いので、 VBAにてファイルとして読み込みで処理をしたいのですが、 皆さんは、どのように行っていますか? ※CSVファイルは、テキスト区切り→"(ダブルコーテーション)です  テキスト区切り無しであれば、1行読んで、カンマをsplitすれば良いと思いますが。。。。

  • splitの使用方法

    String.split の使用に関してです。 ファイルから一行づつ読み出して split で切って配列にしたいと考えています。 ファイルの中身は 1|ssm3u|00000| 2|ssm3u|11111| のように「|」区切りになっています。 通常のcsv等、カンマ区切りのファイルは split(","); を使用して問題なくできたのですが、 split("|"); と書くと、 「|」ではなく、1文字ごとに切ってしまいます。 どうすれば「|」ごとに切ることができるのでしょうか? あるいは、私のプログラム記述ミスでしょうか?

  • 読み込んだテキストを Split で分割する

    おはようごさいます。 過去の質問も色々拝見したのですが解決しなかったので、質問させていただきます。 以下の内容のテキストファイル、samp.txt を読み込み(改行コードはLFのみ)、 &txt = 123 456 789& それを split で改行で区切って、配列 my_ary に入れたいと思っております。(以下ソース) System.useCodepage = true; this.loadVariables("samp.txt"); this.onData = function() { my_ary = new Array(); my_ary = txt.split("\n"); }; stop(); デバッカで確認したところ“txt”の値は読み込めるのですが、 my_ary がいつも undefind になってしまいます。 何が原因なのかさっぱり分りません。 またこのソースでは、テキストを読み込むのに loadVariables を使っておりますが、LoadVars を使用して同じ事をした場合、my_ary 配列の値を LoadVarsオブジェクト名.onLoad = function(… 内以外から参照することは出来ますでしょうか? (例えば別のフレームやムービークリップなどから) 続けざまの質問で非常に恐縮ではありますが宜しくお願いいたします。 環境 OS:winXP Flash:MX2004

    • ベストアンサー
    • Flash
  • CSV出力で改行がうまくできない。

    VBAでテキストファイルにCSV出力をおこなっています。 方法は、 Print #FreeFile, FreeFileOutput; でおこなっています。FreeFileOutputは変数でカンマで区切られた複数の値が はいっています。最後はカンマはありません。つまり、 "a,b,c,d" といった値がFreeFileOutputにはいっています。 これをループでまわして、複数行を出力したいとおもっています。 無事に出力はできるのですが、テキストファイルを見ると各行の終わりで改行 されていません。print関数を使い";"をつけると自動で改行が入力される みたいですがされません。どうしてでしょうか?

  • SPLIT関数

    環境 VB6.0  CSVデータをカンマで区切ってデータを取得して  いるのですが、こういう処理はできるのでしょうか?  例えば データがダブルコーテーションでくるられて      いる場合はカンマ(,)を無視するといった      ことはできるのでしょうか? DIM CSVDATA AS STRING DIM XWDNDATA() AS STRING CSVDATA = "1,2,"あいう,おえお",25" XWDNData = Split(CSVDATA, ",") XWDNData(0) = "1" XWDNData(1) = "2" XWDNData(2) = ""あいう" XWDNData(3) = "おえお"" XWDNData(4) = "25" XWDNData(2)とXWDNData(3)を一つのデータとしたい こうしたいデータ XWDNData(0) = "1" XWDNData(1) = "2" XWDNData(2) = "あいうおえお" XWDNData(3) = "25"

  • Macintosh環境でテキスト文字 \ を認識する方法を教えて欲しいです

    Macintosh環境において、S-JISフォーマットの、テキストファイル text.txt を読み込み、テキストで記述された改行コード変換するactionスクリプトを考えたいと思っております。 そこで、以下のようなスクリプトをつけたムービークリップを作りました。 onClipEvent (load) {   // テキストファイルの読み込み   System.useCodepage = true;   this.loadVariables("test.txt"); } on (release) {   // 改行文字を認識してメッセージに改行を追加   str = new String(text);   str = str.split(String.fromCharCode(92,110)).join("\n");   str = str.split(String.fromCharCode(92,114)).join("\n");   str = str.split("\\n").join("\n");   str = str.split("\\r").join("\n");   _root.DOCS= str; } 用意したtext.txtの内容は以下の通りです: &text=この先にnの改行があります\nこの先にrの改行があります\r¥¥n→\\n  ¥¥r→\\r& これを実行してみたところ、 ・Windows環境(FLASH7 & FLASH8)では_root.DOCSは以下のように表示されました: この先にnの改行があります この先にrの改行があります ¥¥n→\   ¥¥r→\ ・Macintosh環境(FLASH7 & FLASH8)では_root.DOCSは以下のように表示されました: この先にnの改行があります\nこの先にrの改行があります\r¥¥n→\\n  ¥¥r→\\r どうもMacintosh環境では、テキストの \ の認識が、split命令内では String.fromCharCode(92) や "\\" では認識しないのではないかと考えております。 この動作をMacintoshで実現する為には、どのように表記すればよろしいでしょうか。 良い案をおもちの方がおられましたら、是非御教授御願いできませんでしょうか。 よろしく御願い致します。

    • ベストアンサー
    • Flash
  • EXCELからCSVにすると余計なカンマがつきます

    こんにちは。 EXCELから固定テキストでデータの利用をするために ファイルをCSVにしました(件数約1万)。 その後テキストエディタで確認すると 最初の数千件は 1,2,3,4,5(改行) 6,7,8,9,0 のように目的とした文字列になってくれているのですが ある所から急に 1,2,3,4,5,(改行) 6,7,8,9,0, と、お尻にカンマがついてしまいます。 固定長で利用したいので、このカンマは余計なのですが、 カンマがつくならつくで、すべてのレコードについていれば 構いません。 なお、何回か試しているのですが、そのつどカンマが 現れる場所が違います。 時には最初カンマなし、途中カンマあり、また途中から カンマなしなどというファイルも作られます。 どちらかに統一できる方法をご存知の方はいらっしゃいます でしょうか。 お知恵を拝借したく存じます。 よろしくお願い致します。

専門家に質問してみよう