首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >删除csv中的列时出现的PHP问题

删除csv中的列时出现的PHP问题
EN

Stack Overflow用户
提问于 2017-12-06 18:21:48
回答 1查看 58关注 0票数 0

我使用下面的php脚本从csv中删除一些列,对它们进行新排序,然后将其另存为新文件。它适用于我制作的文件。现在我需要对另一个csv执行同样的操作,但我不知道出了什么问题。我总是在第一列的数据前得到一个逗号。

这就是我所拥有的,但它并不是真的有效。

代码语言:javascript
运行
复制
<?php
$input = 'http://***/original.csv';
$output = 'new.csv';

if (false !== ($ih = fopen($input, 'r'))) {
$oh = fopen($output, 'w');

while (false !== ($data = fgetcsv($ih))) {
    // this is where you build your new row
    $outputData = array($data[4], $data[0]);
    fputcsv($oh, $outputData);
}

fclose($ih);
fclose($oh);
}

original.csv如下所示:

代码语言:javascript
运行
复制
subproduct_number   barcode        stock    week_number qty_estimate    productid   variantid
05096470000         4024144513543   J                   3               6           35016
ae214               848518017215    N       23          0               7           35015
05097280000         4024144513727   J                   1               32          34990

分隔符是';‘。在正在运行的文件中使用相同的分隔符

但在这里它会出错,因为我保存的new.csv看起来像这样:

代码语言:javascript
运行
复制
subproduct_number   barcode        stock    week_number qty_estimate    productid   variantid
,05096470000        4024144513543   J                   3               6           35016
,ae214              848518017215    N       23          0               7           35015
,05097280000        4024144513727   J                   1               32          34990

但我需要的是一个新的csv,看起来像这样:

代码语言:javascript
运行
复制
  qty_estimate  subproduct_number
  3             05096470000
  0             ae214
  1             05097280000

如您所见,我只需要5.Column ($data4)作为第一列,第一列($data)作为第二列。

我希望有人能给我指明正确的方向。谢谢

EN

Stack Overflow用户

发布于 2017-12-06 19:02:03

您可以这样做:

代码语言:javascript
运行
复制
while (false !== ($data = fgetcsv($ih))) {
    $data = explode(';', $data[0]);
    $outputData = array($data[4], $data[0]);
    fputcsv($oh, $outputData, ';');
}
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47671926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档