2011-02-22 25 views
0

私たちは、リストを私たちのシステムにアップロードするために内部的に使用する小さなプログラムを持っています。ファイルのサイズが5k行以上にならず、各.csvに元のファイルのヘッダー行を含めて同じ書式が必要です。大規模な.csvファイルを、適切なヘッダフィールドを持つ小さな.csvファイルに分割します。

誰かが私がPHPを実行しているサーバーでこれを達成するために使用できるスクリプトの方向に私を指摘できますか?

ありがとうございます!

答えて

0

これらのCSVには改行が含まれていますか?もしそうでなければ、最初の行(ヘッダー)を読み込み、後続の行をその最初の行に先行する別々のファイルに入れるのは簡単です。 fgets機能を使用して、ファイルを1行ずつ読むことができます。

値に改行が含まれている場合は、実際にcsvを解析するか、それを実行できるライブラリを見つける必要があります。これはまだそれほど難しくありません(特殊文字の正確な書式とエスケープに依存します)。一般的な方法は、特殊文字を含む場合には"に値を含めることです。ファイルを分割する:行単位で行を読み込む必要があります。行に奇数行が含まれている場合、行は開いた値で終了しますので、次の行を読み込んだ行に追加する必要があります。この引用符の奇数と別の行を見つけるまで。

をこのように、あなたが実際にそれらを解析することなく、ファイルを簡単に分割することができます。

+0

のfgets()おそらく?PHPありfgetcsv()/ fputcsv() csvファイルを読み書きし、解析するためですが、改行がない場合はunneceですssaryオーバーヘッド。 –

+0

タイプミス。 - > fgetsを取得します。ありがとうマークB! – GolezTrol

関連する問題