[英]PHP - Getting certain columns from csv file into array
我確實在努力研究如何將某些列的數據從csv文件轉換為數組。 目前,我可以使用以下命令將整個對象轉換為數組:
$csv = array();
$lines = file('../data/StaffData.csv', FILE_IGNORE_NEW_LINES);
foreach ($lines as $key => $value)
{
$csv[$key] = str_getcsv($value);
}
但是有沒有辦法只從數組中獲取某些列呢? 例如第1列和第2列,或第1列到第4列? 等等
目的是這樣做,以便我可以使用FPDF將某些數據放入表中。 我也在努力:/
-因此,如果有人知道如何快速將美觀的表格放入FPDF,請告訴我。 我正在嘗試從網站上使用BasicTable函數,但是我的表不在頁面上,而且看起來不太好。 這是我第一次使用它,它運行得非常糟糕。
我知道這是兩個問題。 但是第一個(標題中)是最主要的。 謝謝
您可以在每一行上使用explode()來獲取數組中的列。 然后,當您寫入$ csv時,只需選擇所需的內容,然后跳過不需要的內容。
for{
$row = explode(",", $line);
$csv[$key]['wantedcol1'] = $row[0]; //first col
$csv[$key]['wantedcol2'] = $row[2]; //third col
}
這只是一個簡單的小示例,它在編寫$ csv時從文件中跳過第二列。
str_getcsv()解析一行,您只需要從該行提取數據。
$csv = array();
$lines = file('../data/StaffData.csv', FILE_IGNORE_NEW_LINES);
foreach ($lines as $key => $value)
{
$row = str_getcsv($value);
$csv[$key] = array($row[0], $row[1], ..., $row[n]);
}
在array($row[0], $row[1], ..., $row[n]);
指定所需列號的地方array($row[0], $row[1], ..., $row[n]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.