Jason,
Why do you copy the return array into an other one before using it?
(and why rewriting code already available as native PHP functions?)
This should do the same than your code:
$fh = fopen($filename);
$fields = fgetcsv($fh);
while($line = fgetcsv($fh) !== false)
{
print json_encode(array_combine($fields,$line));
}
fclose($fh);
Eric
PS: You may want to add some error handling :o)
On Aug 20, 6:03 pm, Jason <[email protected]> wrote:
> I would use a small PHP script (assuming the first line is the field
> names)
>
> $fields = array();
> $data = array();
> $fh = fopen($filename);
> $line = fgetcsv($fh);
> foreach($line as $n)
> {
> $fields[] = $n;
>
> }
>
> while($line = fgetcsv($fh) !== false)
> {
> foreach($line as $key => $n)
> {
> $data[$fields[$key]][] = $n;
>
> }
> }
>
> print json_encode($data);
>
> seehttp://us.php.net/fgetcsvfor more examples
>
> On Aug 18, 11:24 pm, kstubs <[email protected]> wrote:
>
>
>
>
>
>
>
> > Any tips for converting CSV to Json? I have CSV, row deliminted \n, and
> > fields delimited with typical comma. There is a known/exisiting object type
> > for each field. Something like:
>
> > {'fields': [{'field':'fname', 'col':2}, {'field':'ssn', 'col':5}]}
>
> > So I have that to work from, and will populate a Json result like this:
> > [{'data':{'fname':value}, {'ssn':value}},{'data':{'fname':value},
> > {'ssn':value}}]
>
> > I feel like I am doing it the long way when I:
>
> > // split csv string by \n to new line array
>
> > // for every item in new line split string
>
> > // split item by , to field array
>
> > // for every item in field array
>
> > // create object to add to new data array
>
> > Any ideas would help.
>
> > Thanks,
> > Karl..
--
You received this message because you are subscribed to the Google Groups
"Prototype & script.aculo.us" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/prototype-scriptaculous?hl=en.