加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php – 我如何解析一个csv文件以获取列名首先与它相关的行?

发布时间:2020-05-26 02:23:38 所属栏目:PHP 来源:互联网
导读:这是我的csv column1,column2,column3,column4,column5column1_row1,column2_row1,column3_row1,column4_row1,column5_row1column1_row2,column2_row2,column3_row2,column4_row2,column5_row2column1_row3,column2_r

这是我的csv

column1,column2,column3,column4,column5
column1_row1,column2_row1,column3_row1,column4_row1,column5_row1
column1_row2,column2_row2,column3_row2,column4_row2,column5_row2
column1_row3,column2_row3,column3_row3,column4_row3,column5_row3
column1_row4,column2_row4,column3_row4,column4_row4,column5_row4
column1_row5,column2_row5,column3_row5,column4_row5,column5_row5
column1_row6,column2_row6,column3_row6,column4_row6,column5_row6
column1_row7,column2_row7,column3_row7,column4_row7,column5_row7
column1_row8,column2_row8,column3_row8,column4_row8,column5_row8
column1_row9,column2_row9,column3_row9,column4_row9,column5_row9

第一行当然是列名.我尝试过fgetcsv(),但所有这一切都将显示所有的行.而不是我想要的.我该怎么做?

所以如果我把数据放在一个数组中,我可以打印出数据的表格格式,就像它在excel中显示的一样.

谢谢

这是我的样品:

$filename = "upload/sample.csv";
if (($handle = fopen($filename,'r')) !== FALSE)
{
    while (($row = fgetcsv($handle,1000,",")) !== FALSE) 
    {
       print_r($row);
     }
}

这是我的输出:(我把$行放在一个预先,所以我可以显示它)

Array
(
    [0] => column1
    [1] => column2
    [2] => column3
    [3] => column4
    [4] => column5
column1_row1
    [5] => column2_row1
    [6] => column3_row1
    [7] => column4_row1
    [8] => column5_row1
column1_row2
    [9] => column2_row2
    [10] => column3_row2
    [11] => column4_row2
    [12] => column5_row2
column1_row3
    [13] => column2_row3
    [14] => column3_row3
    [15] => column4_row3
    [16] => column5_row3
column1_row4
    [17] => column2_row4
    [18] => column3_row4
    [19] => column4_row4
    [20] => column5_row4
column1_row5
    [21] => column2_row5
    [22] => column3_row5
    [23] => column4_row5
    [24] => column5_row5
column1_row6
    [25] => column2_row6
    [26] => column3_row6
    [27] => column4_row6
    [28] => column5_row6
column1_row7
    [29] => column2_row7
    [30] => column3_row7
    [31] => column4_row7
    [32] => column5_row7
column1_row8
    [33] => column2_row8
    [34] => column3_row8
    [35] => column4_row8
    [36] => column5_row8
column1_row9
    [37] => column2_row9
    [38] => column3_row9
    [39] => column4_row9
    [40] => column5_row9
)
一读即可使用:
$csv = array_map("str_getcsv",file("file1.csv",FILE_SKIP_EMPTY_LINES));
$keys = array_shift($csv);

要将所有行变成一个很好的关联数组,你可以应用:

foreach ($csv as $i=>$row) {
    $csv[$i] = array_combine($keys,$row);
}

(编辑:安卓应用网)

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

    推荐文章
      热点阅读