Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php读取csv并限制要执行的记录_Php_Api_Csv - Fatal编程技术网

php读取csv并限制要执行的记录

php读取csv并限制要执行的记录,php,api,csv,Php,Api,Csv,我使用的是api,在我提交数据供api处理之前,我需要格式化数据, 我有5列csv文件中的数据 现在,我想打开并读取csv文件,在除最后一列之外的每列之间用逗号连接字段。我几乎完成了对csv的解析,使用,现在获取数据,然后在每个字段的值后面添加“,”,但是现在我在末尾有一个逗号需要删除,所以现在我尝试使用substr删除最后一个,但效果不好。它去掉了所有的逗号你能看一下吗 foreach ($csv->data as $key => $row){ foreach ($row as

我使用的是api,在我提交数据供api处理之前,我需要格式化数据, 我有5列csv文件中的数据 现在,我想打开并读取csv文件,在除最后一列之外的每列之间用逗号连接字段。我几乎完成了对csv的解析,使用,现在获取数据,然后在每个字段的值后面添加“,”,但是现在我在末尾有一个逗号需要删除,所以现在我尝试使用substr删除最后一个,但效果不好。它去掉了所有的逗号你能看一下吗

foreach ($csv->data as $key => $row){
  foreach ($row as $value) {
     $output =  "$value, ";
      //echo $output;
     $final = substr($output, 0, -2);
    echo $final."\n";
    }
}
我还有其他问题,我有一些想法,但不确定这是否会奏效。这个api一次只能接受100条记录,所以我需要运行脚本几次才能完成这个过程。如何做到这一点?我在想,我应该首先从csv中获取行数,然后在循环中执行100,然后继续..但是要继续,我应该在100之后暂停,然后继续吗?请告诉我…如果能看到一些例子,我就可以从那里开始


谢谢

您构建它的代码是错误的,因为您在每次迭代中都分配给$output(而不是附加到它)。不过,请看一下如何使用fputcsv。您还可以通过打开名为
php://temp
。当然,我会试试这个。第二部分有什么想法吗?每次记录的数量不同,所以现在可能是5000条记录,所以我需要调用api 50次…第二天可能是6000条记录…那么我怎么做这个调用呢?这很奇怪,也许你应该编写自己的api。首先,这应该是csv字符串中所有元素的数组:$array=explode(“,”,$csvstring);如果您想要更复杂的解决方案,请查看右侧的相关问题。
$final .= substr($output, 0, -2);