我有一个 csv excel 文件,其中包含两列值:纬度和经度。我需要分别访问每个单独的纬度和经度值。
但我什至无法正确地将 csv 文件读入数组。由于我使用的是 Mac,所以我从以下内容开始:
ini_set("auto_detect_line_endings", true);
$handle = fopen("countlook.csv", "r");
$data = fgetcsv($handle, 100000, ",");
仅返回第一行(列标题)“纬度,经度”,没有任何实际值。
不知道我哪里错了。任何建议都将非常受欢迎。
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
变量中拥有所有数据。
尝试以下操作:
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)
}