加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 将CSV转换为数组

发布时间:2020-12-13 13:50:21 所属栏目:PHP教程 来源:网络整理
导读:我有这个数组与机场代码和城市名称(约3500行). code,city"Abilene,TX ",ABI"Adak Island,AK ",ADK"Akiachak,KKI"Akiak,AKI"Akron/Canton,OH ",CAK"Akuton,KQA"Alakanuk,AUK"Alamogordo,NM ",ALM 我需要将该文件转换为php数组.到目前为止这是我的代码: if(($
我有这个数组与机场代码和城市名称(约3500行).
code,city
"Abilene,TX ",ABI
"Adak Island,AK ",ADK
"Akiachak,KKI
"Akiak,AKI
"Akron/Canton,OH ",CAK
"Akuton,KQA
"Alakanuk,AUK
"Alamogordo,NM ",ALM

我需要将该文件转换为php数组.到目前为止这是我的代码:

if(($handle = fopen('test.csv','r')) !== FALSE) {
    while (($data = fgetcsv($handle,1000,','"')) !== FALSE) {
        echo '<pre>';
            print_r($data);
            echo '</pre>';
    }
    fclose($handle);
}

虽然我正在设置fgetcsv函数的分隔符和封闭字符,但是我得到了这个结果:

Array
(
    [0] => code
    [1] => city
"Abilene
    [2] => TX "
    [3] => ABI
"Adak Island
    [4] => AK "
    [5] => ADK
"Akiachak
    [6] => AK "
    [7] => KKI
"Akiak
    [8] => AK "
    [9] => AKI
"Akron/Canton
    [10] => OH "
    [11] => CAK
"Akuton
    [12] => AK "
    [13] => KQA
"Alakanuk
    [14] => AK "
    [15] => AUK
"Alamogordo
    [16] => NM "
    [17] => ALM
)
如果是换行符,您可以尝试使用暴力方法:
$file = file_get_contents("test.csv");
$data = array_map("str_getcsv",preg_split('/r*n+|r+/',$file));
print_r($data);

str_getcsv可通过PHP 5.3获得,或通过upgradephp或PHP_Compat作为手册中的解决方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读