为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 php 甚至 javascript 将新的 csv 文件作为新列合并到现有的 csv

如何使用 php 甚至 javascript 将新的 csv 文件作为新列合并到现有的 csv

PHP
白衣染霜花 2023-03-11 16:48:01
我有一些包含 1 列和多行数据的 csv 文件,如下所示:file1.csv:星期一亚当·安德鲁file2.csv:周二JamesSallySeanBenSidfile3.csv:星期三康尼·史蒂夫·艾伯特如何从这 3 个文件中获取数据并将它们作为单独的列放在新的 csv 文件中?我正在使用 php 和 javasript,如果其中任何一个可以完成这项工作,那就太好了。
查看完整描述

2 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

我设法让它根据你上面的部分代码工作。首先,我需要将每个文件中的数据放入一个简单的数组中,因为它们每个只有 1 列。然后我计算每个文件中的行数,并像您所做的那样获得最大计数。最后,我将每个文件中的数据放入 for 循环中,如下所示:


for ($row_index = 0; $row_index < $row_count; $row_index++) {

$row = array($mondaycol[$row_index], $tuesdaycol[$row_index] , $wednesdaycol[$row_index], $thursdaycol[$row_index], $fridaycol[$row_index], $saturdaycol[$row_index], $sundaycol[$row_index]);



fputcsv($outFile, $row);

}


查看完整回答
反对 回复 2023-03-11
?
ibeautiful

TA贡献1993条经验 获得超5个赞

可以使用File API在 JS 端执行此操作。

绝对有可能在 PHP 方面做到这一点。这是有关处理文件上传的相关文档。

要读取 CSV 文件,请查看fgetcsv(). 使用它来将每个文件的内容放入一个数组中。

在这一点上,你应该能够做这样的事情:

<?php


// $file1 = ...

// $file2 = ...

// $file3 = ...


$rows = [];

$row_count = max(count($file1), count($file2), count($file3));

for ($row_index = 0; $row_index < $row_count; $row_index++) {

    $row = [];

    $row[0] = $file1[$row_index] ?? '';

    $row[1] = $file2[$row_index] ?? '';

    $row[2] = $file3[$row_index] ?? '';

    $rows[] = $row;

}

一旦你得到了你想要写入新文件的数据到它自己的数组中(即$rows在上面的例子中),你就可以使用fputcsv()写入它。



查看完整回答
反对 回复 2023-03-11
  • 2 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信