Tools: Import and export of CSV and JSON files
Occasion
For some reasons we need to handle imports or exports of data. Approved and well-known file formats are json, csv or xml. In my case In my case I often need to translate CSV from Excel to json data.
Therefore I wrote a simple profile-based php class which is able to handle CSV and JSON files called ImpEx.
Details about ImpEx
ImpEx is managing profiles as anonymous functions. Each profile receive current ImpEx object and data of previous profile and return processed data. All profiles will executed by running order.
Some action
<?php
//attach profiles
$impEx->addProfile('json.import', function($impEx,$data){
$data = $impEx->importFromJson(dirname(__FILE__) . '/data/import_address.json');
$newData = array();
foreach ($data as $key => $value) {
$street = $addressArray[0];
$postalcode = $addressArray[2];
$city = $addressArray[1];
$newData[] = array(
'postalcode' => mb_convert_encoding($postalcode, 'ISO-8859-1'),
'city' => mb_convert_encoding($city, 'ISO-8859-1'),
'street' => mb_convert_encoding($street, 'ISO-8859-1'),
);
}
//
return $newData;
});
$impEx->addProfile('csv.export', function($impEx,$data){
$filename = dirname(__FILE__) . '/data/export_address.csv';
$impEx->exportToCSV($filename,$data,ImpEx::CSV_DELIMITER_EXCEL, ImpEx::CSV_ENCLOSURE, true);
});
//executeprofiles
$impEx
->executeProfile('olddata.json.import')
->executeProfile('olddata.csv.export');
?>
Get the code
Written by Marco Bunge
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Php
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#