簡體   English   中英

從CSV文件讀取時獲取空值

[英]getting null values while reading from csv file

我有一個csv文件,每個行都有一個這樣的單詞

word1
word2
word3

並具有以下代碼來讀取數據:

$arr = array();
$fh = fopen('path/to/file', 'r');
while (($rows = fgetcsv($fh)) !== false) {
 print_r($rows);
 if (!in_array($rows[0], $arr))
  $arr[] = "'".trim($rows[0])."'";
}
fclose($fh);
print_r($arr);

問題是我獲得了$ rows [0]的空字符串/空值,並且非常確定數據在那里。

Array ( [0] => )
Array ( [0] => )
Array ( [0] => )

Array ( [0] => '' [1] => '' [2] => '' [3] => '' )

任何幫助將不勝感激。

您正在嘗試將單詞讀入數組嗎? 將所有內容替換為:

$arr = file('/path/to/file');
print_r($arr);

無法復制。 我假設您的文件格式有問題。 最有可能在頂部有一個空行(我不太確定,但是可能會通過!== false測試)。

更好的嘗試:

$arr = array_map("str_getcsv", file("words.csv"));
print_r($arr);

如果您需要重新添加引號,請執行一個單獨的循環。

文件讀取部分已經回答,但是關於添加引號的循環,可以使用array_walk()

function add_quotes(&$item)
{
    $item = "'" . $item . "'";
}

array_walk($arr, "add_quotes");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM