Bookmarks

Yahoo Gmail Google Facebook Delicious Twitter Reddit Stumpleupon Myspace Digg

Search queries

sqldatasource dal, wwwxxxenden, convert raid5 to raid 10 mdadm, apache force chunked, nrao wwwxxx, xxxxxdup, procmail change subject header, wwwXxx not20, Wwwxxx.doks sas, linux raid resync after reboot

Links

XODOX
Impressum

#1: CSV to quasi-XML

Posted on 2008-04-14 23:30:32 by Travis

Hi there,

Never written a line of Perl until now but I think it might be perfect
for this little program I need.

I have some CSV files that are given to me and I need to spit them in
a format that kind of looks like XML but I don't think it is. The
structure looks something like this:

<ADDRESSES>
<struct>
<field name="First" value="John" />
<field name="Last" value="Doe" />
<field name="City" value="San Francisco" />
</struct><struct>
<field name="First" value="Jane" />
<field name="Last" value="Johnson" />
<field name="City" value="New York City" />
</struct>
</ADDRESSES>


I don't think that's standard XML is it? If so please let me know so I
can change my google searching on the topic.

Anyway, I get CSV's that look something like this:

First,Last,City
John,Doe,San Francisco
Jane,Johnson,New York City


I'm a C/C++ person by nature but I thought this would be a good way to
get my hands in Perl and learn a bit.

Any guidance is helpful. Thanks.

Report this message

#2: Re: CSV to quasi-XML

Posted on 2008-04-14 23:34:58 by Travis

Oh also there should be a newline \n between the closing </struct> and
the next <struct>

Report this message

#3: Re: CSV to quasi-XML

Posted on 2008-04-14 23:52:00 by 1usa

Travis <travis.bowers@gmail.com> wrote in
news:1db6609e-07f3-4388-befb-9088405d95e9
@w4g2000prd.googlegroups.com
:

> Never written a line of Perl until now but I think it might be
> perfect for this little program I need.

It looks you are planning to have someone else write the lines of
Perl that might be needed rather than writing them yourself.

> I have some CSV files that are given to me and I need to spit them
> in a format that kind of looks like XML but I don't think it is.
> The structure looks something like this:
>
> <ADDRESSES>
> <struct>
> <field name="First" value="John" />
> <field name="Last" value="Doe" />
> <field name="City" value="San Francisco" />
> </struct><struct>
> <field name="First" value="Jane" />
> <field name="Last" value="Johnson" />
> <field name="City" value="New York City" />
> </struct>
> </ADDRESSES>
>
>
> I don't think that's standard XML is it?

Of course, it is.

> If so please let me know
> so I can change my google searching on the topic.

Why would searching Google be easier than writing the program in the
first place?

>
> Anyway, I get CSV's that look something like this:
>
> First,Last,City
> John,Doe,San Francisco
> Jane,Johnson,New York City
>
> I'm a C/C++ person by nature

No one is a 'C/C++ person' by nature. If you know C, this is trivial
to write. So, first write the program in C, then read
<URL:http://www.ebb.org/PickingUpPerl/>. You can then come back and
ask if you run into any problems.

> but I thought this would be a good
> way to get my hands in Perl and learn a bit.
>
> Any guidance is helpful. Thanks.

OK, here is a part of a fish:

my ($first, $last, $city) = split /,/, $line;

print <<STRUCT;
<struct>
<field name="First" value="$first" />
<field name="Last" value="$last" />
<field name="City" value="$city" />
</struct>
STRUCT

There is also:

http://csv2xml.sourceforge.net/

Sinan

--
A. Sinan Unur <1usa@llenroc.ude.invalid>
(remove .invalid and reverse each component for email address)

comp.lang.perl.misc guidelines on the WWW:
http://www.rehabitation.com/clpmisc/

Report this message

#4: Re: CSV to quasi-XML

Posted on 2008-04-14 23:52:49 by 1usa

Travis <travis.bowers@gmail.com> wrote in
news:7f4a5bd7-8002-4b8e-b91d-08288e1ff51c@u36g2000prf.google groups.co
m:

> Oh also there should be a newline \n between the closing </struct>
> and the next <struct>

I knew I was making a mistake replying. *Sigh*. Just confirmed my
expectations.

Sinan

--
A. Sinan Unur <1usa@llenroc.ude.invalid>
(remove .invalid and reverse each component for email address)

comp.lang.perl.misc guidelines on the WWW:
http://www.rehabitation.com/clpmisc/

Report this message

#5: Re: CSV to quasi-XML

Posted on 2008-04-14 23:55:53 by Travis

On Apr 14, 2:52=A0pm, "A. Sinan Unur" <1...@llenroc.ude.invalid> wrote:
> Travis <travis.bow...@gmail.com> wrote in
> news:1db6609e-07f3-4388-befb-9088405d95e9
> @w4g2000prd.googlegroups.com
> :
>
> > Never written a line of Perl until now but I think it might be
> > perfect for this little program I need.
>
> It looks you are planning to have someone else write the lines of
> Perl that might be needed rather than writing them yourself.
>
>
>
> > I have some CSV files that are given to me and I need to spit them
> > in a format that kind of looks like XML but I don't think it is.
> > The structure looks something like this:
>
> > <ADDRESSES>
> > <struct>
> > =A0 =A0 <field name=3D"First" value=3D"John" />
> > =A0 =A0 <field name=3D"Last" value=3D"Doe" />
> > =A0 =A0 <field name=3D"City" value=3D"San Francisco" />
> > </struct><struct>
> > =A0 =A0 <field name=3D"First" value=3D"Jane" />
> > =A0 =A0 <field name=3D"Last" value=3D"Johnson" />
> > =A0 =A0 <field name=3D"City" value=3D"New York City" />
> > </struct>
> > </ADDRESSES>
>
> > I don't think that's standard XML is it?
>
> Of course, it is.
>
> > If so please let me know
> > so I can change my google searching on the topic.
>
> Why would searching Google be easier than writing the program in the
> first place?
>
>
>
> > Anyway, I get CSV's that look something like this:
>
> > First,Last,City
> > John,Doe,San Francisco
> > Jane,Johnson,New York City
>
> > I'm a C/C++ person by nature
>
> No one is a 'C/C++ person' by nature. If you know C, this is trivial
> to write. So, first write the program in C, then read
> <URL:http://www.ebb.org/PickingUpPerl/>. You can then come back and
> ask if you run into any problems.
>
> > but I thought this would be a good
> > way to get my hands in Perl and learn a bit.
>
> > Any guidance is helpful. Thanks.
>
> OK, here is a part of a fish:
>
> my ($first, $last, $city) =3D split /,/, $line;
>
> print <<STRUCT;
> <struct>
> =A0 =A0 <field name=3D"First" value=3D"$first" />
> =A0 =A0 <field name=3D"Last" value=3D"$last" />
> =A0 =A0 <field name=3D"City" value=3D"$city" />
> </struct>
> STRUCT
>
> There is also:
>
> http://csv2xml.sourceforge.net/
>
> Sinan
>
> --
> A. Sinan Unur <1...@llenroc.ude.invalid>
> (remove .invalid and reverse each component for email address)
>
> comp.lang.perl.misc guidelines on the WWW:http://www.rehabitation.com/clpm=
isc/

lol thanks for the taste. i appreciate it.

Report this message

#6: Re: CSV to quasi-XML

Posted on 2008-04-15 14:33:37 by cartercc

On Apr 14, 5:30 pm, Travis <travis.bow...@gmail.com> wrote:
> I have some CSV files that are given to me and I need to spit them in
> a format that kind of looks like XML but I don't think it is.

The pseudocode for your little problem looks like this:

open infile for reading;
open outfile for writing;
while outfile is open;
read each line;
remove newline character;
split on delimiter into data structure;
join into string representation of output;
print string to your outfile;
close infile;
close outfile;

The functions you will need are open, close, while, chomp, split,
join, print (or printf or sprintf), and possibly some data structure
specific functions depending on your approach. Personally, I would use
an array.

> The
> structure looks something like this:
>
> <ADDRESSES>
> <struct>
> <field name="First" value="John" />
> <field name="Last" value="Doe" />
> <field name="City" value="San Francisco" />
> </struct><struct>
> <field name="First" value="Jane" />
> <field name="Last" value="Johnson" />
> <field name="City" value="New York City" />
> </struct>
> </ADDRESSES>

This is well formed XML. You might want to know what 'well formed'
means.

> I'm a C/C++ person by nature but I thought this would be a good way to
> get my hands in Perl and learn a bit.

Good. As you will discover, Perl is optimized to perform a pretty
narrow range of tasks, but this is an ideal job for Perl. In my job
(database manager) I use Perl for about 80% of everything I do, most
of which is very similar to your problem. I have used C as well, but I
don't get to do much bit twiddling.

CC

Report this message

#7: Re: CSV to quasi-XML

Posted on 2008-04-16 01:23:54 by Travis

Thanks all for the wonderful help.

Report this message