• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPで複雑なCSVを読み込みたい)

PHPで複雑なCSVを読み込む方法

このQ&Aのポイント
  • 大証が提供する日経先物のCSVファイルを読み込んでデータベース化する方法について説明します。
  • CSVファイルの例を示し、19年6月のデータを抽出する手順を解説します。
  • PHPを使ってCSVファイルを読み込んで特定の行を抜き出す方法を紹介します。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

19年6月が欲しいのか、19年9月が欲しいのかわかりません。 問題提起の時点でブレがおおきいと、有効な回答は期待できません。 また、(SP)のデータとか(立会外)のデータとかには日付け情報が のっていないようですが、これは指定がない場合は前の行のデータを 引き継ぐのでしょうか?仕様提起しっかりしていないと判断できません。 それとデータを取り出してどのように出力したいかもかいたほうが よいですね。 総じて当座、こんな感じでいかがですか? <?PHP $handle = fopen("test.csv", "r"); while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $num = count($data); if(preg_match('/19年 6月/',$data[0])){ print_r($data); } } fclose($handle); ?> preg_match()ではなく単にデータを比較してもいいのですが、 すこし複雑な検索になると正規表現の方がやりやすいのであえてこうしました。

kreb
質問者

お礼

やりたいことが全て実現できました。 ありがとうございました。

kreb
質問者

補足

大変失礼致しました。 質問の19年6月はすべて19年9月と読み替えてください。 >また、(SP)のデータとか(立会外)のデータとかには日付け情報が >のっていないようですが、これは指定がない場合は前の行のデータを >引き継ぐのでしょうか? その通りです。 データを取り出して、MySQLで管理したいと思っております。 サンプルスクリプトまで頂いてとても感謝しています。 今から実験してみます。 ありがとうございました。

関連するQ&A