我有一个带有2列值的csv excel文件:纬度和经度。我需要分别访问每个单独的纬度和经度值。
但我甚至无法正确地将csv文件读入数组。由于我使用的是mac,我开始使用:
ini_set("auto_detect_line_endings", true);
$handle = fopen("countlook.csv", "r");
$data = fgetcsv($handle, 100000, ",");
仅返回第一行(列标题)“纬度,经度”,没有任何实际值。
不知道我哪里出错了。任何建议都会非常受欢迎。
答案 0 :(得分:1)
fgetcsv
逐行读取文件,因此将其置于循环中以获取所有数据非常重要。
$headers = array();
$rows = array();
$c = 0;
while ($data = fgetcsv($handle, 0, ",")) {
if ($c == 0) {
$headers = $data;
} else {
$rows[] = $data;
}
$c ++;
}
fclose($handle);
现在,您应该在headers变量中包含标题,并在rows变量中包含所有数据。
答案 1 :(得分:0)
尝试以下方法:
if (($handle = fopen($_FILES["file"]["tmp_name"], "r")) !== FALSE) {
$data = array();
while (($rawdata = fgetcsv($handle, 0, $delimiter)) !== FALSE) {
for ($i=0; $i < count($rawdata); $i++) {
$data[$i][] = trim($rawdata[$i]);
}
}
fclose($handle);
var_dump($data)
}