My favorites | Sign in
Project Logo
                
Search
for

Simple data access object for csv files in php5.

by Kazuyoshi Tlacaelel.

Some features

Cells

  1. fillCell cell value filler
  2. getCell cell fetcher
  3. hasCell checks if a coordinate is valid

Headers

  1. countHeaders header counter
  2. createHeaders header creator
  3. getHeaders header fetcher
  4. setHeaders header injector

Columns

  1. appendColumn column appender
  2. fillColumn collumn data injector
  3. getColumn column fetcher
  4. hasColumn column existance checker
  5. removeColumn column remover
  6. walkColumn column walker

Must see

  1. __construct data load initialize
  2. connect header and row relationship builder
  3. getRawArray raw data as array
  4. isSymmetric data length/symmetry checker
  5. load csv file loader
  6. settings settings alterator
  7. symmetrize all rows length equalizer
  8. walkGrid grid walker

Rows

  1. appendRow row appender
  2. countRows row counter
  3. fillRow fillRow
  4. getAsymmetricRows asymmetric data fetcher
  5. getRow row fetcher
  6. getRows multiple row fetcher
  7. hasRow row existance checker
  8. removeRow row remover
  9. walkRow row walker
Updated Dec 18, 2008 by kazu....@gmail.com
connect  

Method:connect

header and row relationship builder

Attempts to create a relationship for every single cell that was captured and its corresponding header. The sample below shows how a connection/relationship is built.

sample of a csv file "my_cool.csv"

name,age,skill
john,13,knows magic
tanaka,8,makes sushi
jose,5,dances salsa

php implementation

$csv = new File_CSV_DataSource;
$csv->load('my_cool.csv');

if (!$csv->isSymmetric()) {
die('file has headers and rows with different lengths
cannot connect');
}

var_export($csv->connect());

array (
0 =>
array (
'name' => 'john',
'age' => '13',
'skill' => 'knows magic',
),
1 =>
array (
'name' => 'tanaka',
'age' => '8',
'skill' => 'makes sushi',
),
2 =>
array (
'name' => 'jose',
'age' => '5',
'skill' => 'dances salsa',
),
)

You can pass a collection of headers in an array to build a connection for those columns only!

var_export($csv->connect(array('age')));

array (
0 =>
array (
'age' => '13',
),
1 =>
array (
'age' => '8',
),
2 =>
array (
'age' => '5',
),
)
  1. Argument array $columns the columns to connect, if nothing

is given all headers will be used to create a connection

will be returned instead


Sign in to add a comment
Hosted by Google Code