Używam tej biblioteki do konwersji tablicy na inny format danych lub odwrotnie.
Znajdziesz tam format biblioteki/klasy (Format.php), którego możesz użyć do konwersji CSV na tablicę, a następnie zapisać go w swojej bazie danych. Ta klasa obsługuje również inny format:
- xml – prawie każdy język programowania potrafi czytać XML
- json – przydatne dla JavaScript i coraz częściej aplikacji PHP.
- csv – otwórz w arkuszach kalkulacyjnych
- html – prosta tabela HTML
- php – Reprezentacja kodu PHP, który może być eval()
- serializuj – Zserializowane dane, które mogą być odserializowane w PHP
EDYTUJ:
Ta biblioteka działa na CSV z ogranicznikiem "\n" w każdym wierszu i "," w każdej kolumnie, możesz jej użyć w ten sposób:
$this->load->library('format');
$string_csv = "YOUR CSV";
$result = $this->format->factory($string_csv, 'csv')->to_array();
var_dump($result);
Po prostu tak proste. Jednak, jak powiedziałem powyżej, jeśli masz inny ogranicznik, musisz dostosować bibliotekę do swoich potrzeb. Oto główna funkcja konwersji CSV do tablicy:
function _from_csv($string)
{
$data = array();
// Splits
$rows = explode("\n", trim($string));
$headings = explode(',', array_shift($rows));
foreach ($rows as $row)
{
// The substr removes " from start and end
$data_fields = explode('","', trim(substr($row, 1, -1)));
if (count($data_fields) == count($headings))
{
$data[] = array_combine($headings, $data_fields);
}
}
return $data;
}
EDYCJA 2:
Mój przykład będzie działał w tym standardowym formacie CSV:
Heading1, Heading2, Heading3
"1","John","London"
"2","Brian","Texas"