我有了6線,如以下csv文件:PHP讀取CSV,發出帶有雙引號
10264,dan,Dan,37519,MILLER,6/3/2014 14:51,$28.40,Rapid,[email protected],,
10443,Dari,"D. R, LLC",37308,SELLERS,6/2/2014 15:12,$40.00,esponse,[email protected],,
10488,EmHern,"A HOME FOR YOU,LLC",37749,MILLER,6/1/2014 8:23,$33.00, Response,[email protected],,
我試圖讀取CSV和提取一些列然後豎線分隔符添加到提取的每列,這裏是我使用的功能:
<?php
function fncReadCSV($csvFileName){
$result = array();
$row = 1;
if (($handle = fopen($csvFileName, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$outPut = "";
$outPut .= $data[0];
$outPut .="|";
$outPut .= $data[1];
$outPut .="|";
$outPut .= $data[2];
$outPut .="|";
$outPut .= $data[6];
$outPut .="|";
$outPut .= $data[8];
$outPut .="|";
array_push($result, rtrim($outPut, "|"));
$row++;
}
}
fclose($handle);
return $result;
}
echo "<pre>";
print_r(fncReadCSV("file.csv"));
echo "</pre>";
結果我得到的是正確的僅前行,爲第2,第3行,我得到了全行的,因爲它是在CSV,我期待的引號來打破我的代碼我該如何解決這一問題的代碼,適用於csv文件與報價目前和csv文件沒有 請?
結果是:
Array
(
[0] => 10264|dan|Dan|$28.40|[email protected]
[1] => 10443,Dari,"D. R, LLC",37308,SELLERS,6/2/2014 15:12,$40.00,esponse,[email protected],,
[2] => 10488,EmHern,"A HOME FOR YOU,LLC",37749,MILLER,6/1/2014 8:23,$33.00, Response,[email protected],,
)
我期待的結果是:
Array
(
[0] => 10264|dan|Dan|$28.40|[email protected]
[1] => 10443|Dari|"D. R, LLC"|esponse|[email protected]
[2] => 10488|EmHern|"A HOME FOR YOU,LLC"|37749|[email protected]
)
對不起我不明白,請問這個問題可以解決嗎? – user3593154
你的csv看起來不錯,但是沒有列出「D」的列。 R,LLC「很好。 – ArtisticPhoenix
對不起,我在print_r中有兩個rr,print_r會在每一行上打印數據,因此您可以驗證csv是否正確讀取,pre標記保留空白並使讀取print_r輸出更容易。 – ArtisticPhoenix