php - 将 CSV 的特定列保存到 PHP 中的另一个 CSV 文件
问题描述
因此尝试读取 csv 文件并从文件中提取详细信息,并希望将 csv 的特定列存储到另一个 csv 文件中。
我设法提取了输入 csv 文件的特定列,但不确定如何将这些提取的列写入另一个 csv 文件。
这是我工作的一部分:
$row = 1;
if (($handle = fopen("testtable.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
$row++;
echo $data[0] . "\n" . $data[1] . "<br />\n";
}
$file = fopen("editedTable.csv","w");
foreach ( $data as $line) { //working on this part of the code
fputcsv($file, explode(',',$line));
}
fclose($handle);
}
显然,当我试图找出逻辑时,foreach 循环中有一个错误。
提取的数据基本上是第一列和第二列(data[0],data[1])。只需要这个来写入另一个 CSV 文件。输入 csv 只是一个逗号分隔的文件,有 5 列。知道如何修改 foreach 循环并使用 fputcsv 方法吗?
谢谢
解决方案
fputcsv
在第二个参数上接受一个数组。
我想这就是你要找的:
<?php
$file = fopen("editedTable.csv","w");
$row = 1;
if (($handle = fopen("testtable.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000)) !== FALSE) {
$num = count($data);
$row++;
echo $data[0] . "\n" . $data[1] . "<br />\n";
fputcsv($file, [$data[0], $data[1]]);
}
}
fclose($handle);
fclose($file);
推荐阅读
- javascript - ap-south-1 区域上的 AWS SignatureDoesNotMatch 错误
- javascript - Geochart:为多个图表定义一个js函数?
- javascript - 如何在特定路径上的反向代理后面托管 webpack 应用程序?
- unity3d - Unity 内置颜色选择器
- javascript - Gridview 中的下拉列表仅使用 HTML、CSS 或 Javascript
- angular - Angular spy On 不适用于存根模拟
- android - 如何在日志中打印我的多部分截击请求的请求
- amazon-web-services - 具有进度和取消的长时间运行的 AWS Lambda 任务
- javascript - JSON 有效负载的 utf-8 验证
- r - 重复行,使所有列保持不变,但一列按顺序变大