这是我的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); } }
这是我的输出:(我将$ row放到pre中,以便可以显示它)
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); }