aspose file tools*
The moose likes Java in General and the fly likes read from csv Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "read from csv" Watch "read from csv" New topic
Author

read from csv

Peter Primrose
Ranch Hand

Joined: Sep 10, 2004
Posts: 755
Hello

I get a file on a monthly basis with the EXACT fromat. it looks somthing like this:

code agetn number name state account
----+-----+-------+-----------+------+---------------
423 8834 9934 Washington 993 2993
652 9234 2203 Dallas 441 9223
999 8888 0002 North, East 434 3552

the last raw is SOOO problematic because my csvreader believe that the next token is a state number while it is a string [EAST] this is of course because of the comma: North, East.

anyone have a nice solution for this?
thanks
Scott Dunbar
Ranch Hand

Joined: Sep 23, 2004
Posts: 245
Update your parser to handle it?

Seriously, I'm a bit confused because you're showing the data as space separated but your indicating a problem with commas. Which way is it? I would say that the data is not in the correct format if you mean to have commas as the delimiter. The traditional manner is that each field is surrounded by the double quote character so that you really separate by them, not the commas. Of course, having an embedded double quote character then needs to be addressed if your data supports it.


<a href="http://forums.hotjoe.com/forums/list.page" target="_blank" rel="nofollow">Java forums using Java software</a> - Come and help get them started.
Peter Primrose
Ranch Hand

Joined: Sep 10, 2004
Posts: 755
the data is taken from a csv file - so this means that it is separated by commas. I meant the space to represent the commas.
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24187
    
  34

You said,

Originally posted by Peter Primrose:

I get a file on a monthly basis with the EXACT fromat.


(Emphasis yours.) But then later you tell us that this is in fact not the exact format -- in fact, that the real data is comma separated, and your sample is not!

How about this: show us a few good lines and one troublesome line from your real data, and we'll be in a much better position to advise you.


[Jess in Action][AskingGoodQuestions]
Peter Primrose
Ranch Hand

Joined: Sep 10, 2004
Posts: 755
this is the exact format. North, east always comes this way; and the problem is what stated above.

my code looks like this (the simple version):

Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24187
    
  34

Originally posted by Peter Primrose:
I meant the space to represent the commas.


And then

this is the exact format.




What I'm saying is that unless you show us exactly what the file looks like, we might be missing an opportunity. If the fields are always the same size, then we could use that. If there are always exactly 7 numbers at the end, we could use that. If that "Washington/Dallas/North, East" field never contains any digits, we could use that. But we can't help you parse a file whose format is unknown to us.
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42277
    
  64
CSV has a number of edge cases that you need to consider. Why reinvent the wheel when there are ready-made libraries that can do CSV-handling for you?


Ping & DNS - my free Android networking tools app
Peter Primrose
Ranch Hand

Joined: Sep 10, 2004
Posts: 755
thank you all.... the csvreader solves it.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: read from csv