php 读取淘宝卖家下载的CSV订单文件数据

2018年7月份,淘宝突然改了后台导出的订单文件格式,改变点如下:

1、字段有变化,增加支付信息,所以列信息有变化

2、原来分隔符是\t,制表符,现在是逗号,换行符是\n ,unix的换行符(LF)

 

 

折腾了几次,发现php 用读取csv的函数读取,读取的数据不全,有些行读取不到。

最后,还是用读取整个文件来处理。函数如下

function read_csv($cvs){
  setlocale(LC_ALL, 'zh_CN');
  $rsl=array();
  $tmpfile=file_get_contents($cvs);
  $rows=explode("\n",$tmpfile);
  foreach ($rows as $rk => $row) {
    $tmp=explode(",",$row);
    foreach ($tmp as $ik => $item) {
      $tmp_item=iconv('GB2312','UTF-8',$item);
      $tmp_item=str_replace(array('"','='),array(''),$tmp_item);
      $rsl[$rk][$ik]=$tmp_item;
    }
  }
  return $rsl;
}

 

posted @ 2018-07-18 12:05  趟坑的  阅读(...)  评论(... 编辑 收藏