私はこのようなcsvファイルを持っています
col1, col2, col3
1 , John, ABC
新しい関係が必要なので、ABC列 3 で解析する必要があります。A,B,Ccol1, col3 (each letter)
$jは行、$iは列です。
$j = 0;
while (($row = fgetcsv($handle, 1000, ',')) !== false) {
$i = 0;
$id = 0;
foreach ($row as $field) {
# save the id of each row
if($j >0 && $i == 0){
$id = $field;
}
# parse the third column for non-header rows)
if($j > 0 && $i >= 3){
$char_array = str_split($field);
foreach($char_array as $value){
//echo $value;
//echo $id.$value."<br/>";
mysql_query("INSERT INTO sample VALUES('".$id."', '".$value."')");
}
}
$i = $i + 1; # increment the column
}
$j = $j +1; # move to the next row
}
これは遅いです。720 を超える行があり、そのほとんどは 3 列目に 5 文字を超えています。
ABCDEですので、平均すると 720 x 5 になります。これは膨大な数です。私は得るtimeout。実行の最大時間をローカルで変更できますが、学生の Linux アカウントでこれを実行する必要があります。私にはそんな特権はありません。タイムアウトのせいだと思います(今回は言われませんでした)、私は を持ってい
id = 502ます。残りがありません(最大720行あります)。
私に何ができる?私が興味を持っているのは、最初と 3 番目の列だけです。