PHP utility library as a CSV helper
composer require alaa-almaliki/csv-mate:dev-master
require_once 'vendor/autoload.php';
$csv = new CsvMate\Csv();
// CSV Reader
$reader = $csv->getReadCsv(['file_path' => __DIR__ . '/mycsv.csv']);
$reader->renameHeaders(['policyID' => 'policy_id', 'statecode' => 'state_code']);
// get all data
$allData = $reader->getData();
print_r($allData);
$associateData = $reader->getAssocData();
print_r($associateData);
$oneColumn = $reader->getColumn('policyID');
print_r($oneColumn);
$oneColumn = $reader->getColumn(0);
print_r($oneColumn);
$oneColumn = $reader->getColumn('policy_id');
print_r($oneColumn);
$columns = $reader->getColumns(['policyID', 'statecode', 'hu_site_limit', 'county']);
print_r($columns);
$columns = $reader->getColumns([0, 1, 4, 2]); // $reader->getColumns(['policyID', 'statecode', 'hu_site_limit', 'county'])
print_r($columns);
$columns = $reader->getColumns(['policy_id', 'state_code', 'hu_site_limit', 'county']);
print_r($columns);
$reader->where('policyID', ['eq' => ['119736', '448094', '206893', '333743', '172534']]);
$filteredData = $reader->getData();
print_r($filteredData);
$reader->where('0', ['eq' => ['119736', '448094', '206893', '333743', '172534']]);
$filteredData = $reader->getData();
print_r($filteredData);
$reader->where('policyID', ['eq' => ['119736', '448094', '206893', '333743', '172534']]);
$filteredData = $reader->getAssocData();
print_r($filteredData);
$reader->where('policy_id', ['eq' => ['119736', '448094', '206893', '333743', '172534']]);
$filteredData = $reader->getAssocData();
print_r($filteredData);
$reader->where('county', ['eq' => ['CLAY COUNTY']]);
$filteredData = $reader->getAssocData();
print_r($filteredData);
$reader->where('county', ['eq' => ['CLAY COUNTY']])
->where('policy_id', ['in' => ['119736', '448094', '206893', '333743', '172534']])
->where('eq_site_limit', ['neq' => ['498960']]);
$filteredData = $reader->getAssocData();
print_r($filteredData);
$reader->where('county', ['eq' => ['CLAY COUNTY']])
->where('policy_id', ['lt' => ['1000000']])
->where('eq_site_deductible', ['gt' => '0']);
$filteredData = $reader->getAssocData();
print_r($filteredData);
$reader->selectColumns([
'policyID',
'statecode',
'hu_site_limit',
'county',
'tiv_2011',
'fr_site_deductible',
'hu_site_deductible',
'point_longitude',
'point_latitude'
]);
$reader->where('county', ['eq' => ['CLAY COUNTY']])
->where('policy_id', ['lt' => ['1000000']])
->where('eq_site_deductible', ['gt' => '0']);
$filteredData = $reader->getAssocData();
print_r($filteredData);
$reader->selectColumns([
'policy_id',
'state_code',
'hu_site_limit',
'county',
'tiv_2011',
'fr_site_deductible',
'hu_site_deductible',
'point_longitude',
'point_latitude'
]);
$reader->where('county', ['eq' => ['CLAY COUNTY']])
->where('policy_id', ['lt' => ['1000000']])
->where('eq_site_deductible', ['gt' => '0']);
$filteredData = $reader->getAssocData();
print_r($filteredData);
$dataToWrite = [
['first_name', 'last_name', 'email', 'occupation'],
['Alaa', 'Al-Maliki', 'alaa.almaliki@gmail.com', 'Software Engineer'],
['John', 'Doe', 'john.doe@gmail.com', 'Test Analyst'],
['Kate', 'Foxon', 'kate.foxon@gmail.com', 'Project Manager'],
['Allan', 'McGain', 'allan.mcgain@gmail.com', 'Database Administrator'],
['Andrew', 'James', 'andrew.james@gmail.com', 'System Analyst'],
['Jamie', 'Doug', 'jamie.doug@gmail.com', 'Technical Lead'],
['Karen', 'Hostfield', 'karne.hostfield@gmail.com', 'System Architect'],
];
$writer = $csv->getWriteCsv(['file_path' => __DIR__ . '/dataCopy.csv']);
$writer->writeData($dataToWrite);