Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^2: enoeding iso 8859 issue within a datadump

by Perlbeginner1 (Scribe)
on Oct 06, 2012 at 11:48 UTC ( #997618=note: print w/replies, xml ) Need Help??


in reply to Re: enoeding iso 8859 issue within a datadump
in thread enoeding iso 8859 issue within a datadump



i can try the Text::CSV module too....

The Text::CSV module provides functions for both parsing and producing CSV data. However, we'll focus on the parsing functionality here. The following code sample opens the prospects.csv file and parses each line in turn, printing out all the fields it finds.

#!/usr/bin/perl use strict; use warnings; use Text::CSV; my $file = 'prospects.csv'; my $csv = Text::CSV->new(); open (CSV, "<", $file) or die $!; while (<CSV>) { if ($csv->parse($_)) { my @columns = $csv->fields(); print "@columns\n"; } else { my $err = $csv->error_input; print "Failed to parse line: $err"; } } close CSV;


Running the code produces the following output:

Name Address Floors Donated last year Contact Charlotte French Cakes 1179 Glenhuntly Rd 1 Y John Glenhuntly Pharmacy 1181 Glenhuntly Rd 1 Y Paul Dick Wicks Magnetic Pain Relief 1183-1185 Glenhuntly Rd 1 Y George Gilmour's Shoes 1187 Glenhuntly Rd 1 Y Ringo
And by replacing the line:
print "@columns\n";


with:

print "Name: $columns[0]\n\tContact: $columns[4]\n";


we can get more particular about which fields we want to output. And while we're at it, let's skip past the first line of our csv file, since it's only a list of column names.

#!/usr/bin/perl use strict; use warnings; use Text::CSV; my $file = 'prospects.csv'; my $csv = Text::CSV->new(); open (CSV, "<", $file) or die $!; while (<CSV>) { next if ($. == 1); if ($csv->parse($_)) { my @columns = $csv->fields(); print "Name: $columns[0]\n\tContact: $columns[4]\n"; } else { my $err = $csv->error_input; print "Failed to parse line: $err"; } } close CSV;


Running this code will give us the following output:
Name: Charlotte French Cakes Contact: John Name: Glenhuntly Pharmacy Contact: Paul Name: Dick Wicks Magnetic Pain Relief Contact: George<br> Name: Gilmour's Shoes Contact: Ringo




well i can get some analogies what do you think!

Replies are listed 'Best First'.
Re^3: enoeding iso 8859 issue within a datadump
by Anonymous Monk on Oct 07, 2012 at 01:25 UTC

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://997618]
help
Chatterbox?
[ambrus]: Corion: some of these stupid syntax highlighters assume that too. just look at the table in http://perldoc. perl.org/ functions/pack. html for example.
[haukex]: ..."yet" ;-) I haven't had to deal with Dist::Zilla yet but I've heard about how it's a big setup
[ambrus]: I really don't like automagic stuff. I'm happy when computers do exactly what I tell them, even if that means they sometimes do the wrong thing.
[ambrus]: And I don't much like syntax highlighters. If you need a syntax highlighter to understand your code, then your code is written unclear.
[ambrus]: And if you need a syntax highlighter to color parenthesis green and numbers black and letters blue, then you're using the wrong font.
[ambrus]: I have to tolerate syntax highlighters when other people use them, but I don't use them myself. And sorry for the rant.

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (14)
As of 2017-02-27 12:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Before electricity was invented, what was the Electric Eel called?






    Results (385 votes). Check out past polls.