2016-11-07 16 views
-1

私の理想的な修正は、強制的にカプセル化されていないCSVファイルを取り込む機能です(値に空白がない場合や値が単なる値の場合は値を引用符で囲みません)。すべてのフィールドが二重引用符で囲まれていることを確認するCSVファイル。CSVファイルを強制的にカプセル化する

<?php 

$raw_file = BASE_DIR."pathto/csv.csv"; 
$fixed_file = BASE_DIR."pathto/fixed.csv"; 

convert_file($raw_file, $fixed_file); 

//move on with life!! 
?> 

ありがとうございます!

答えて

0

fgetcsvを使用してオリジナルのCSVファイルの内容を取得し、fputcsv(4番目のパラメータを使用)を使用してカプセル化ファイルを作成します。

たとえば、列セパレータを想定することは;です:このメソッドは、偉大な働い

<?php 

$raw_file = BASE_DIR."pathto/csv.csv"; 
$fixed_file = BASE_DIR."pathto/fixed.csv"; 

// Getting contents 
$raw_handle = fopen($raw_file, 'r'); 
$contents = array(); 
while (($data = fgetcsv($raw_handle, 0, ';')) !== false) { 
    $contents[] = $data; 
} 
fclose($raw_handle); 

// Putting contents 
$fixed_handle = fopen($fixed_file, 'w'); 
foreach ($contents as $line) { 
    fputcsv($fixed_handle, $line, ';', '"'); 
} 
fclose($fixed_handle); 

//move on with life!! 
?> 
+0

はわずかな改造では、あなたの助け..いただきありがとうございます!返事をしてくれてありがとう、私の夜を救った! –

+0

喜んで助けてください!あなたの状況で他人を助けるかもしれないように、答えを受け入れたものとしてマークしてください。 – roberto06

関連する問題