簡體   English   中英

PHP-將某些列從csv文件轉換為數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM