我很困惑如何在php中讀取csv文件(只有前4個字段)並排除其餘的文件。在php中讀取csv文件的前5個字段
Sno,Name,Ph,Add,PO
1,Bob,0102,Suit22,89
2,Pop,2343,Room2,78
我只是想先讀3周的Fileds並跳轉到下一個數據。想不通怎麼辦通過fgetcsv
有什麼幫助嗎?
感謝,
我很困惑如何在php中讀取csv文件(只有前4個字段)並排除其餘的文件。在php中讀取csv文件的前5個字段
Sno,Name,Ph,Add,PO
1,Bob,0102,Suit22,89
2,Pop,2343,Room2,78
我只是想先讀3周的Fileds並跳轉到下一個數據。想不通怎麼辦通過fgetcsv
有什麼幫助嗎?
感謝,
我爲你添加到樣品fgetcsv代碼中的註釋:是啊
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
// iterate over each column here
for ($c=0; $c < $num; $c++) {
// handle column data here
echo $data[$c] . "<br />\n";
// exit the loop after 3rd column parsed
if ($c == 2) break;
}
++$row;
}
fclose($handle);
}
這裏有一個辦法做到這一點沒有fgetcsv
功能:
$lines = file('data.csv');
$linecount = count($lines);
for ($i = 1; $i < $linecount; $i++){
$fields = explode(',', $lines[$i]);
$sno = $fields[0];
$name = $fields[1];
$ph = $fields[2];
$add = $fields[3];
}
,但這假定文件是正確的(沒有少於4個字段的行)。我知道NOTICE級錯誤並不是那麼重要,但無論如何。特別是在調試時,最好擺脫通知。 我建議加if(count($ fields)<4)//錯誤句柄//對於一行 – 2009-12-10 11:37:20
我只是在展示這個概念。沒有必要使用堅韌的防彈來進行示範。他要求四個領域,所以我給了他四個領域。 – brianreavis 2009-12-10 11:41:50
非常感謝。 – JPro 2009-12-10 12:17:14
如果我需要將這些數據插入到mysql中,你能告訴我在哪裏插入語句嗎? – JPro 2009-12-10 12:48:10