Saya menggunakan library ini untuk mengonversi array ke format data lain atau sebaliknya.
Di sana Anda dapat menemukan Library/class Format (Format.php) yang dapat Anda gunakan untuk mengonversi CSV ke array kemudian menyimpannya ke dalam database Anda. Kelas ini juga mendukung format lain:
- xml – hampir semua bahasa pemrograman dapat membaca XML
- json – berguna untuk JavaScript dan semakin banyak aplikasi PHP.
- csv – buka dengan program spreadsheet
- html – tabel HTML sederhana
- php – Representasi kode PHP yang dapat dievaluasi()’ed
- serialize – Data bersambung yang dapat di-unserialized di PHP
EDIT:
Pustaka ini bekerja pada CSV dengan pembatas "\n" pada setiap baris dan "," pada setiap kolom, Anda dapat menggunakannya seperti ini:
$this->load->library('format');
$string_csv = "YOUR CSV";
$result = $this->format->factory($string_csv, 'csv')->to_array();
var_dump($result);
Sesederhana itu. Namun seperti yang saya katakan di atas jika Anda memiliki pembatas lain maka Anda harus menyesuaikan perpustakaan sesuai kebutuhan Anda. Berikut fungsi utama untuk mengkonversi CSV ke array:
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;
}
EDIT 2:
Contoh saya akan bekerja pada format CSV standar ini:
Heading1, Heading2, Heading3
"1","John","London"
"2","Brian","Texas"