php - PHP将多行csv文件读取到变量
问题描述
我想在我的网站上使用天气预报数据。CSV 文件中有数值天气预报输出。我可以从链接中读取 CSV 文件,然后我可以选择一个预测变量,但我不能将每个“预测数字”保存到 PHP 变量中。请问你能帮帮我吗?
<?php
$today = date("Y-m-d");
$nextday = date('Y-m-d', strtotime($today. ' + 3 days'));
$lat = "40";
$lon = "19.5";
$file = fopen('http://oos.soest.hawaii.edu/erddap/griddap/NCEP_Global_Best.csv?tmp2m[('.$today.'T00:00:00Z):1:('.$nextday.'T00:00:00Z)][('.$lat.'):1:('.$lat.')][('.$lon.'):1:('.$lon.')],ugrd10m[('.$today.'T00:00:00Z):1:('.$nextday.'T00:00:00Z)][('.$lat.'):1:('.$lat.')][('.$lon.'):1:('.$lon.')],vgrd10m[('.$today.'T00:00:00Z):1:('.$nextday.'T00:00:00Z)][('.$lat.'):1:('.$lat.')][('.$lon.'):1:('.$lon.')],pratesfc[('.$today.'T00:00:00Z):1:('.$nextday.'T00:00:00Z)][('.$lat.'):1:('.$lat.')][('.$lon.'):1:('.$lon.')],rh2m[('.$today.'T00:00:00Z):1:('.$nextday.'T00:00:00Z)][('.$lat.'):1:('.$lat.')][('.$lon.'):1:('.$lon.')]', 'r');
while (($line = fgetcsv($file)) !== FALSE) {
$T = $line[3];
$temp1 = ????????;
$temp2 = ????????;
$temp3 = ????????;
...
}
fclose($file);
?>
现在如果我尝试$temp1 = $T[0]
我明白了
tK2222222222222322222222222
解决方案
这是我用来解析 CSV 文件的代码块。
$csvFile = fopen('portfolio.csv', 'r');
$data = array();
while ($row = fgetcsv($csvFile))
{
$data[] = $row;
}
fclose($csvFile);
var_dump($data);
在这个循环结束时,整个 CSV 文件被加载到$data
.
循环遍历$data
数组以执行您需要的操作。
$data[0][0] will contain A1
$data[0][1] will contain B1 and so on...
$data[1][0] will contain A2
$data[1][1] will contain B2 and so on...
推荐阅读
- javascript - 如何在点击时在 div 之间淡入淡出,从不显示开始?
- python - 在 Weka 中执行 CTNK 算法。再现性问题
- regex - Python glob.glob 与可选子目录一起使用?
- azure - 用于获取与证书链接的所有应用程序服务的 Powershell 脚本
- java - Java:访问字符串数组时的 ArrayIndexOutOfBounds
- typescript - VSCode 无法安装 TSLint 扩展
- apache-spark - 火花在 249 端口运行
- excel - 每行最频繁的观察,有两个排名决胜局
- c# - 限制函数被调用的频率,同时返回一个缓存值
- php - 我想使用开关值插入值。