私はこのようなcsvファイルを持っています
col1, col2, col3
1 , John, ABC
新しい関係が必要なので、ABC
列 3 で解析する必要があります。A,B,C
col1, 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 番目の列だけです。