ベストアンサー openでcsvを開いた時 2009/01/08 18:24 openでcsvを開き配列に格納したまでは良いのですが、 何行(いくつの配列)格納したかの最大値を知りたいのですが、何か関数はありますか? みんなの回答 (1) 専門家の回答 質問者が選んだベストアンサー ベストアンサー zxcv0000 ベストアンサー率56% (111/196) 2009/01/09 00:09 回答No.1 配列を単にスカラーで参照すると、格納している要素数になります。 例: while( @array > 0 ) { my $element = shift(@array); (1件の要素の処理) } 「スカラーで参照」がわかんなければ、 0 + @array で @array の要素数が得られると覚えてください。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発CGI 関連するQ&A VBScriptでCSVファイルを読み出したい 現在VBScriptでCSVファイルを1行ずつ読み取って、2次元配列に格納するプログラムを作成しています。 CSVファイルの中身は、サンプルで shop,price,sales 001,500,700 003,1200,90 024,,18 という並びになっています。 実データは300件くらいです。 1行目のヘッダーを読み飛ばし、2行目のデータから1行ずつ読取、","でsplitを用いてまず1次配列に格納しています。 1次元配列のarrLine(0)=001、(1)=500、(2)=700と入ったデータを 2次元配列arrshopに順次保存?したいのです。 ---------------------------------------------- dim strLine '1行ずつ読込んだデータを持つ dim ntLineNum '行数のカウント dim arrLine '","で区切った要素を持つ一次元配列 dim arrshop '一次元配列になった要素を2次元配列として格納 Do until .AtEndOfStream strLine = .ReadLine if 0<>strComp("",Trim(strLine)) then ntLineNum = intLineNum + 1 end if arrLine = split(strLine , ",") arrshop = Array(arrLines,i) i = i + 1 loop ----------------------------------------- msgbox arrshop(2)(0) と指定すると「003」出るようにしたいです。 Array関数が上手くないような気もします・・・。 どなたかご教授お願いします(>_<。) Excel(VBA)で配列の要素数を調べるには? お世話になります。 ExcelのVBAで、split関数を使って配列に格納したデータの要素数を調べる方法がわかりません。 下記のようなコードで、読み込んだデータを配列(Arraydata)に格納することは出来たのですが、test.csvの要素数が処理の度に変わるため、要素数に応じて後続の処理を行ないたいと考えています。 Open test.csv For Input As #1 ' test.csvファイルを開く Line Input #1, test.csv ' データ行を読み込む Arraydata = Array(Split(test.csv, ",")) ' 配列に格納 よろしくお願いします。 VBSにてCSV読み込みし比較 ある場所に比較するCSVファイルを2個格納しております。 ただしCSVファイル名は可変であります。 その場合 Set objTextA = objFSO.OpenTextFile("C:\" & "A.csv")と特定して呼び出せません。 名前が可変なときのため、そのパスにあるCSV2個を順に呼び出すにはどうすればよいのでしょうか。 また呼出し後、split関数により、配列に入れます。A配列とB配列に格納したとします。 一つ一つ比較していきたいのですが、 以下のような構文の場合、比較で違ったときテキストに書き込みとなりますでしょうか? for i=0 to i=10 step 1 if strcomp(a(i) ,b(i))) = 1 then テキストに書き込み endif next ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム CSV取り込み処理時の改行 CSVファイルをファイル参照タグで取り込みデータを流す処理を作成したいのですが、 CSVファイル内の入力項目に改行が含まれていたらうまく取り込めません。 どうしたら正しく取り込めるのでしょうか? ※補足 $tmp_file = file($_FILES['csv']['tmp_name']); ↑のようにfile関数で取り込んだ場合、 $tmp_file[1]につきファイル1行が格納したのですが、 ファイル内改行箇所で$tmp_file内も改行され、ファイル内1行情報が2行となって$tmp_fileに入ってしまう。 CSVから値の割り出し CSVファイルの1行目を渡された引数から値を割り出し、配列(@x)に 格納して、2行目以降も1行目で評価された要素と同じ位置の要素を 別配列(@y,@z)に入れて、渡された複数の引数をもとに下記のように 評価したいのですが可能ですか? 例)CSVファイル:1レコード目:1,1,1,2,2,2,3,3,3 2レコード目:1,2,3,4,5,6,7,8,9 3レコード目:A,B,C,D,E,F,G,H,I 引数:2,3,1なら 結果:2,6,D @x=2,2,2 @y=4,5,6 @z=D,E,F CSVファイルを読み込んで計算するには、構造体か? はじめまして。C++プログラミングの質問です。 初心者レベルの質問で申し訳ないのですが、お付き合いください。 CSVファイルを読み込んで、書かれている値を使ってある計算を行う、 ということをしたいのですが、処理方法をどうするか悩んでいます。 CSVファイルに書かれる最大行86400行、最大列6000列です。 また、開発環境はLinuxとなります。 私は「CSVファイルの項目を構造体に格納するクラス」と、「構造体の値を使って計算 するクラス」を考えました。 しかし、構造体ですと最大86400行のものを格納するのは、メモリを食うだけで無駄だという 指摘を受けました。 直接ファイルから値をとってきて、計算クラスに処理させるほうが無難と言われましたが、 「CSVファイルの項目を構造体に格納するクラス=データベース」と考えており、 後々拡張する場合に融通が利くのではないでしょうか。 経験が浅いので、断固たる主張ができないのですが・・・ 構造体に入れることばかり考えていたので、開発のボリュームを抑え、かつ、メモリを食わない 方法を全く思いつきません。 有識者の方へアドバイスを受けたいのですが、 ・大量のデータを読み込む場合、構造体等に格納する方が後ほど助かるか、 それとも、直接ファイル読み込みした方がよいか ・構造体格納のほかに相応しいやり方はないか この2点をメインにお答えいただけないでしょうか。 何か良いやりかたがありましたら教えていただきたいです。 よろしくお願い致します。 CSVデータをDBに移行するには Perlを使ってCSVデータをDBに移行して格納したい のですが、流れはCSVファイルを開いて、CSVファイルを連想配列に書き込んで、 DBを開いて、連想配列データをデータベースに書き込んで、DBを閉じるという 流れの考えでよろしいのでしょうか? phpでcsvファイルから二次元配列を作る php初心者です。 phpでcsvファイルを読み込んで、 配列[csvの行番号][項目名(csv一行目の内容)]=各々の値 という二次元配列を作りたいのですが、作り方が全く分かりません。 どなたか教えてください。 OrqngeSignal CSVの設定について 現在 OrangeSignal CSVを使用してCSVファイルを配列に格納しています。 設定のところで cfg.setEscapeDisabled(false); // デフォルトでは無効となっているエスケープ文字を有効にします。 があるのですが、いろいろ試してみたのですが trueとfalseの違いが見られません。 どのように使えば良いのでしょうか。 よろしくお願いします。 CSVファイルを読み込み、ファイル名を変更。 CSVファイルを読み込み、ファイル名を変更。 使用言語はperlです。perlは初心者です。 アルゴリズムが、 CSVファイルを読み込み→2次元配列に格納→ファイル名変更 という流れになっているプログラムを作成中です。 CSVファイルの中身は あ.txt , a.txt い.txt , b.txt う.txt , c.txt です。 CSVファイルを読み込み2次元配列に格納するプログラムは以下のようにしました。 ----------------------------------- $i= 0; open IN, "sample.csv"; while (<IN>) { my @data = (); @data = split (/,/); for (0..@data) {$jdata[$i][$_] = "$data[$_]";} $i++; } close IN; ---------------------------------------- 「あ.txt」を「a.txt」に変更しようとして、この中に rename $jdata[0][0] , $jdata[0][1] ; と書いてみましたが、変換されません。 どう書けばよいのでしょうか。よろしくお願いします。 C++でのcsvファイル読み込みについて C++でのcsvファイル読み込みについて質問です. 読み込みcsvファイルの規模は300*1000として,その情報をdouble型の2次元配列に格納したいですが,ネットでいろいろ調べたり自分でコードを作ってみてもabort()has been calledなどいくつかエラーが表示されてしまい先に進めません. csvファイル名をa.csv,格納したい2次元配列をA[300][1000]などとしてサンプルコードを提供してくださいますと幸いです. 質問前に散々調べましたがプログラミング初心者でして今現在の力では対応できませんでした.申し訳ありませんが何卒ご教示お願いします. 複数のCSVファイルを1つのファイルにまとめる方法 EXCELで、あるフォルダ(例:Dir1)に格納されている複数のCSVファイルを読み込んで、そのファイルの1行目をコピーし、別ファイル(a.csv)にペーストしたいと思っております。 例えば、Dir1には1.csv,2.csv,3.csvの3つのCSVファイルが存在した時に、a.csvに出力されるのは、 ----------------------------------- 1.csvの1行目 2.csvの1行目 3.csvの1行目 ----------------------------------- となるのが、理想の形です。 方法を知っている方がいらっしゃったら お教えいただければと思います。 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム php配列格納 $lines = file ('db.csv'); 上記でファイルの中身を配列に入れますがその逆で データを配列にして格納したいのですがどうすればいいのでしょうか? ファイルの不要な行を除いて再度変数に配列で格納しファイルを作成 したいのです。 fortranでのcsvファイルの読み込み fortranで例えば下のようなcsvファイルを読み込み、配列に格納したいのですが、どのようにすればよいでしょうか? 12.3,45.6,78.9,23.4,56.7 23.4,56.7,89.1,23.4,56.7 34.5,67.8,91.2,34.5,67.8 当方、CやJavaなどの別の言語は経験があるのですが、急遽fortranでやらなければならなくなって困っています どなたかよろしくお願いします PHP5+MySQL5 CSVから、更新、追加する処理の書き方 こんにちは。 PHP5とMySQL5を使っています。 CSVファイルを読み込み、キーが存在するレコードは更新、 存在しなければ追加、という処理について 色々な書き方を教えて頂けたらと思います。 例えば、フィールドは、ユニークキーとなる[ID]、 [Name]、[TEL]の3つとします。 1.CSV読む 2.行と列の2次元配列に格納 3.行数分ループ開始 3-1.IDをキーに、SELECT 3-2.存在したら 3-3.UPDATE更新 3-2.存在しなかったら 3-3.INSERT追加 4.行数分ループ終了 と考えています。 CSVに100行あったら、100回SELECT掛けることになりますが、 この書き方で問題ないでしょうか? もっと判り易い、こんな書き方も! というのがありましたら、是非頂けますでしょうか。 よろしくお願いします。 マクロでのcsv読み込みについて エクセルのマクロにてcsvファイル(カンマ区切り)のデータを読み込むマクロを制作しているのですが、そのcsvファイルが1行めを2行目がデータ本体ではない為カンマの数が違い、openを使って読み込みを行うとうまくいきません。何かいい方法はないでしょうが。よろしくお願いいたします。 VB2010でCSVファイルを読み、配列に入れる ExcelVBAで、フォルダを選択しCSVファイルを表示⇒クリックで対象ファイルを選び配列に入れる次のプログラムを作りました。その後でデータを加工しグラフィック化してるのですが、VBAのグラフィック機能が遅いのでVB2010に変えようと思いいろいろやってみたのですが、どうもうまくいきません。 どなたか、VB2010ではどのようなプログラムになるのか、教えていただけないでしょうか。 'Excel VBA---------------------------------------- Sub CSVデータ() Dim xd(1000),yd(1000) 'フォルダを選ぶ ChDir ThisWorkbook.Path 'CSVファイルの一覧 pname = _ Application.GetOpenFilename(FileFilter:="CSVファイル(*.csv),*.csv" _ , FilterIndex:=1,Title:="開く",MultiSelect:=False) '対象ファイルをクリックで選ぶ If pname <> False Then Workbooks.Open Filename:=pname End If fname = ActiveWorkbook.Name 'CsVファイルのセルから配列へ移す nstart = 6 nend = nstart +500 k = 0 For i = nstart To nend '6行目から500行の2列、3列を読み配列に入れる k = k + 1 xd(k) = Cells(i, 2) yd(k) = Cells(i, 3) Next i End Sub perlでのcsvファイルの比較・上書き はじめまして、今回初めて質問させていただきます。 今、perlでAとBという2つのCSVファイルを比較して、マッチしない箇所がある場合はAの情報がBに上書きされるというスクリプトを作成しようとしています。 OPEN関数と比較演算子を利用するのはわかっているのですが、上書きさせる方法がわかりません... ネットで調べたりしたのですが、参考になるHPがなかなか見つからなかったので、こちらに質問させていただきました。 サンプルとなるプログラムやHP等を教えていただければ、勉強になりますのでとても助かります。 よろしくお願いします。 追記 Bのcsvファイルには住所録情報が格納されておりまして、AのcsvファイルにはBの住所録情報の中から変更箇所がある新しい住所録情報が格納されております。 csvファイルを配列へ格納しブラウザへ出力 <?php #CAT csvファイルを開く $fp_c = fopen("test.csv","r"); #domain csvファイルを開く $fp_domain = fopen("test.csv","r"); print "<table border='1'>"; #fgetcsv関数がfalseを返却するまで実行 while($c_data = fgetcsv($fp_c)){ print "<tr>"; #csvファイルの列数だけ実行 for($i=0;$i<count($c_data);$i++){ print "<td>".$c_data[$i]."</td>"; } print "</tr>"; } print "</table>"; var_dump($c_data); fclose($fp); ?> このようなプログラムをつくってcsvファイルの各セルを配列$c_data[$i]へ格納している(つもり) なのですが、var_dump($c_data);を入れると bool(false)と表示されてしまいます。 このプログラムではcsvファイルの中身を表示できても配列に格納されていないのでしょうか? よろしくお願いします。 CSV ⇒ 構造体 ⇒ 文字列配列 1,あいうえおあいうえお 3,かきくけこ 2,さしすせそさしすせそさしすせそ 3,たちつてと 2,なにぬねの 1,はひふへほはひふへほはひふへほはひふへほ ・ ・ ・ といったようなCSVファイルがあります。 まずは、それを typedef struct tagSetInf{ int nPattern; // 1or2or3 char szSearch[256]; // 文字列:最大255バイト }SetInf; という構造体に格納していき、そのszSearchの値を nPatternの値に応じて3種類の文字列配列((例)search1,search2,search3)に 格納したいと思っています。 CSVのレコード数は可変です。(たぶん最大数は100くらいだとは思うのですが・・・) 以上の実現方法を教えてください。よろしくお願いいたします。 環境:Win32 API、C/C++。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など