当前位置: 首页> 最新文章列表> 如何通过 fgetcsv 跳过CSV文件中的某些列数据?

如何通过 fgetcsv 跳过CSV文件中的某些列数据?

gitbox 2025-09-22
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 前言部分,与文章内容无关</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"这是一段无关内容示例,可以放一些说明或注释信息。\n"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>

<hr>

</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 文章正文开始</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<h1>如何通过 fgetcsv 跳过CSV文件中的某些列数据?</h1>"</span></span><span>;

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<p>在 PHP 中处理 CSV 文件时,<code>fgetcsv
"; echo "

说明

"
; echo "
    "; echo "
  • fgetcsv 会返回一个数组,数组的每个元素对应 CSV 文件中的一列。
  • "
    ; echo "
  • 通过数组索引选择需要的列即可跳过不需要的列。
  • "
    ; echo "
  • 如果列比较多,也可以用 array_map 或循环来动态选择需要的列。
  • "
    ; echo "
"
; echo "

动态选择列示例

"
; echo "
"</span></span><span>;
</span><span><span>echo</span></span><span> <span>"<?php
\$filename = 'example.csv';
\$neededColumns = [0, 2, 4]; // 想要保留的列索引
if ((\$handle = fopen(\$filename, 'r')) !== false) {
    while ((\$data = fgetcsv(\$handle, 1000, ',')) !== false) {
        \$filteredData = [];
        foreach (\$neededColumns as \$index) {
            if (isset(\$data[\$index])) {
                \$filteredData[] = \$data[\$index];
            }
        }
        print_r(\$filteredData);
    }
    fclose(\$handle);
}
?>"</span>;
</span><span><span>echo</span></span><span> </span><span><span>"
"
; echo "

通过这种方式,我们就可以方便地跳过不需要的列,只保留关心的数据列,处理大文件时也更加高效。

"
; ?>