php - 将 7 列修剪为 5 列的脚本(csv 文件)

标签 php csv

如何通过运行某种脚本将这 7 列缩减为 5 列。

我记得你可以使用 regex/php 来做到这一点,但如果我记得我们是怎么做到的,那就麻烦了。

示例代码(GEO IP 数据库(115,000 行)

"3231296768","3231297023","ripencc","702518400","EU","EU","European Union"
"3231297024","3231297279","ripencc","441763200","EU","EU","European Union"
"3231297280","3231297535","ripencc","702518400","EU","EU","European Union"
"3231297536","3231297791","ripencc","702518400","EU","EU","European Union"
"3231297792","3231298047","ripencc","702518400","EU","EU","European Union"
"3231298048","3231298303","ripencc","702518400","EU","EU","European Union"
"3231298304","3231298559","ripencc","702518400","EU","EU","European Union"

我需要从每一行中删除第 3 列和第 4 列。

感谢任何帮助。

最佳答案

虽然 jimw 的回答通常是最好的答案,但如果您想要一个纯 PHP 解决方案,我建议如下:

$input = 'input.txt';
$output = 'output.txt';

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[0], $data[1], $data[4], $data[5], $data[6]);
        fputcsv($oh, $outputData);
    }

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

关于php - 将 7 列修剪为 5 列的脚本(csv 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9814272/

相关文章:

php - ldap_bind 始终返回 true

php - mod_cgi、mod_fastcgi、mod_scgi、mod_wsgi、mod_python、FLUP。我不知道还有多少。什么是 mod_php 等价物?

php - 根据 GMT 时间和用户时区计算时间

javascript - 带有 CSV 数据的 D3

java - 在 Java 中拆分包含额外逗号和额外引号的 CSV 文件

python - 使用python将路径文件导入到mysql数据库表

php - mysql 计数有问题

PHP PDO - 动态绑定(bind)变量数

python - 如何将两个列表中的数据写入 csv 中的列?

PHP 需要 fputcsv 来打印 NULL 而不是空单元格