エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ジェネレータで大量データをCSVにファイル分割して書き込む - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
ジェネレータで大量データをCSVにファイル分割して書き込む - Qiita
みんな大好きジェネレータ。クラスとか定義せずにジェネレータだけで綺麗に書けるぞ。 背景 もともとは... みんな大好きジェネレータ。クラスとか定義せずにジェネレータだけで綺麗に書けるぞ。 背景 もともとは仕事で書いたコード。先日開催されたPHPerKaigi 2020でジェネレータの事例紹介として出したので、ここで見せます。 要件 データベースから値を取り出してCSVにダンプしたい レコード数 = とにかくいっぱい 全レコードを1クエリで全部取得するのはメモリ量としてもDBの負荷としても許容できない CSVは表計算ソフトで読み込ませる必要がある 表計算ソフトという括りではExcelに限らず65535行以上のCSVを扱えるのは稀なので、ファイルには65534レコードごとにファイルを分割する。 実装 おいらは3重ループとか4重ループとか多重ネストさせるのは絶対に嫌なのでジェネレータで処理を分割しました。 #!/usr/bin/env php <?php /** * 実行すると記事一覧を CSV と