![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?c9bd177)
現在、既存のショッピングカートを改造していているのですが、デフォルトでは
全ての商品データ(CSV)を読み込みソートし、表示する様になっています。
これを特定の条件に当てはまる行だけ@lineとして読み込みたいと考えています。
(例えば新製品の発売日を元に発売中のモノだけ表示など)
この場合、今の知識では一旦全て読み込んで、for文などを使ったりして行毎に
調べて行くくらいしか思いつかないのですが、何か良い処理方法は有りますか?
また、全部読み込んで出力の段階でif文などで条件分岐する方法では
スクリプトの構造上得策ではありませんでした。
説明も拙く申し訳ないですが、ご存じの方ご教授下さい。
No.1ベストアンサー
- 回答日時:
readline(*filehandle)もしくは<filehandle>を再復帰構文(foreachやwhile)で読み出し、その中で、if構文でマッチさせた物のみをpush(@line,$_);などのようにしてインポートさせてやればいいのではないかと思います
詳細なデータ構体が分らないのですが、例を挙げますと、
#exp(year,month,day,hour,min,sec),
$nowTime = int(&numTime(0));
$chrSplitter = '<>';
open(ITEM,$fileName) || die 'cannot load file';
foreach(readline(*ITEM)){
#期限が現在時刻よりも前だったら、配列に挿入(ぁ、逆かも)
if(int((split(/$chrSplitter/o))[0])<=$nowTime){
push(@line,$_);
}
}
close(ITEM);
sub numTime(){
my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time+$_[0]);
return sprintf("%04d%02d%02d%d%02d%02d%02d",($year + $factorYear),$mon,$mday,$wday,$hour,$min,$sec);
}
#わかりにくかったらゴメンナサイ
回答ありがとうございます
なるほど、こういう手も有るのですね。
とりあえ一度全て@lineとして読み込んでからforeachで
条件に合うモノだけ@line2としてインポートしていたのですが、
2度手間なので、この方法を使わせていただきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Excel(エクセル) Excel Powerクエリーの質問、行数指定は可能でしょうか? 2 2022/08/22 12:54
- その他(プログラミング・Web制作) Sikulix2.0.5(Jython2.7.3)でcsvを読込WEB検索条件にpasteで文字化け 1 2023/03/31 11:02
- JavaScript 読み込んだQRコードをフォームに受け渡したい 1 2023/05/18 11:18
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- Excel(エクセル) エクセルでSUMIFS関数で条件範囲の部分が#valueになる。 4 2023/04/28 12:42
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ソースの詳細を教えてください。
-
Application.ScreenUpdating = ...
-
この英語はどういう意味ですか?
-
ACCESS テキストボックスを隙...
-
JSONで文字列が長い時
-
pythonの*
-
Perlにおける<?phpinfo();?>の...
-
複数列を持ったリストボックス...
-
phpでボタンを押したときに変数...
-
【至急!!!】python言語で本を見...
-
URLを携帯に送信させる
-
I2C接続のLCDディスプレイを使う
-
問題作成のWebアプリの作り方を...
-
自作関数への値の渡し方@_
-
FindFirst を複数条件で検索
-
どちのほうがすきですか?
-
【プルダウンで選んでGOボタン...
-
テーブル内でドロップダウンメ...
-
実行時エラー 3020の対策
-
セレクトボックスのselected属...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
日付の差分の求め方(日、分)
-
1桁の日付に0を付ける
-
Perlでsprintf("%02d",$month)...
-
2つの日付・時間の差分を求め...
-
日齢計算プログラム
-
a shower.
-
Perlの日付の比較に関して
-
前日の日付取得するには?
-
サマータイムの判定について
-
pythonのプログラミングについ...
-
時間の計算について
-
VBAでオーバーフローが出て困っ...
-
当日の日付をプルダウンメニュ...
-
「型が一致しません」のエラー...
-
perlでcheckboxがうまく整理で...
-
Schemeのプログラミング うる...
-
perl ハノイの塔の解に順番付け...
-
Perlでテキストファイルの読み込み
-
このソースがコンパイルエラー...
-
PerlからMysqlに接続してデータ...
おすすめ情報