我的CSV文件第一列中有以下值
<table border="1">
<tr>
<th align="left">First Name</th>
<th align="left">Gender</th>
<th align="left">Nationality</th>
</tr>
<tr>
<td align="left">Mike</td>
<td align="left">M</td>
<td align="left">Singaporean</td>
</tr>
我已经这样做了:读取文本文件的每一行到新的数组元素
如何将以上CSV文件转换为Array。因此输出将是
Array
(
[0] => Array
(
[0] => First Name
[1] => Gender
[2] => Nationality
)
[1] => Array
(
[0] => Mike
[1] => M
[2] => Singaporean
)
)
使用DOMDocument::saveHTML
的php数组
参考这个示例代码:
$htmlString = '
<td align="left">Mike</td>
<td align="left">M</td>
<td align="left">Singaporean</td>
';
$dom = new DOMDocument;
$dom->loadHTML($htmlString);
foreach($dom->getElementsByTagName('td') as $node)
{
$arrayTd[] = $dom->saveHTML($node);
}
print_r($arrayTd);
您也可以使用任何csv阅读库。例如这个- http://csv.thephpleague.com/basic-usage/。通过库操作将非常容易
您需要文件夹和位置作为参数来选择文件,您可以使用simpleExcel lib来解析CSV,如下所示
function parseCSV($location,$folder){
$excel = new SimpleExcel('CSV');
try{
$csv=$excel->parser->loadFile($location);
}catch (Exception $ex){
$logger->info($ex->getMessage());
}
$j = 1;
/****column name ****/
if($excel->parser->isRowExists($j)){
$cols = $excel->parser->getRow($j);
}
$i=2;
$arrval = array();
/***csv data****/
while($excel->parser->isRowExists($i)){
$data=$excel->parser->getRow($i);
}
}
使用此函数并传递所需的参数,然后执行var_dump($cols)和var_dump($data)。