Normalizzare un CSV
Preso il contenuto di un file CSV ecco una veloce funzione per normalizzarlo per righe e colonne:
function normalize_csv($content){
$rows = explode(PHP_EOL, $content);
$cols = [];
foreach ($rows as $key => $row) {
$cols[] = explode(';', $row);
}
return $cols;
}
Si da per assunto che le righe siano divise da un "a capo" (in codice PHP_EOL
) mentre le colonne siano divise dal punto-e-virgola ;
.
Headers?
Un altra semplice funzione per normalizzarlo con gli headers.
La funzione prende in input il percorso del file e considera lo standard di divisione la virgola ,
+
function normalize_csv($file){
$rows = array_map('str_getcsv', file($file));
$header = array_shift($rows);
$csv = array();
foreach($rows as $row) {
$csv[] = array_combine($header, $row);
}
return $csv;
}
PreviousOttenere l'url completo in PHPNextOrdinare un array multidimensionale per le chiavi del sottoarray
Last updated
Was this helpful?