Article View: pl.comp.lang.java
Article #153725Re: Odczyt s CSV
From: TrzyLinie
Date: Thu, 03 Jan 2013 13:53
Date: Thu, 03 Jan 2013 13:53
37 lines
3384 bytes
3384 bytes
W dniu 2013-01-03 12:18, Jadalbert napisał(a):
> W dniu 2013-01-03 11:15, TrzyLinie pisze:
>> W dniu 2013-01-03 07:46, Jadalbert napisał(a):
>>> Na razie poradziłem sobie ładując wszystko po
>>> kolei do pól klasy z uwzględnieniem typu
>>> zmiennych zarówno w linii (pierwsza nagłówkowa
>>> String) i dla kolejnych linii w kolumnach
>>> (String, double, int). Jeśli się zachowuje reżim
>>> kolejności w csv i klasie, jest ok. Niestety nie
>>> jest to eleganckie rozwiązanie.
>>
>> Jejku, czego ja nie wiem, że uważam sposób z klasą
>> za jak najbardziej elegancki?!? Co
>> masz do zarzucenia temu sposobowi?!?
> No może za ostro się wypowiedziałem. Klasa jest ok. Nie eleganckość polega wg mnie tym (ale to problem mojego kodu, na razie), że trzeba żmudnie wpisywać dane do pól, a
> jest ich sporo. Ze względu na to, że te dane maja różne typy w obrębie wiersza konieczny jest reżim. Czyli jak mam w pliku i wierszu drugim:
> walec, 100.0, 20.0, 1
> to w klasie muszę czytać:
> nazwa = walec (bo to String)
> wysokosc = 100.00 (bo to double)
> srednica = 20.0 (bo to double)
> typ_bryly = 1 (bo to int)
> itd.
> Powyższe to jedynie przykład. Naprawdę jest tych danych więcej. Do tego są one tworzone w excelu i zapisywane jako cvs, więc i użytkownik w excelu się może pomylić i pisać
> "Stringa" w komórce "double". Oczywiście wiem, że i to można ogarnąć i to w końcu ogarnę. Ale umyśliłem sobie klasę typu
> Cokolwiek {
> nazwa String;
> wartość cokolwiek;
> }
Już rozumiem co Ci się nie podoba, choć dalej nie rozumiem dlaczego ;) CSV to przecież
zwykły tekst, więc zawsze trzeba to po przeczytaniu sparsować do odpowiedniego typu...
Jeśli CSV to czytanie wg "reżimu" - może spróbować wycisnąć z Excela inny format niż CSV?
Np. http://jexcelapi.sourceforge.net/ wprost do odczytu XLS? :)
--
TrzyLinie
Technical Details
Message-ID:
<kc42gd$g59$1@dont-email.me>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!eu.feeder.erje.net!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mailReferences:
<50d244a3$0$1305$65785112@news.neostrada.pl> <kaubma$6fr$1@dont-email.me> <50d2d3a4$0$1315$65785112@news.neostrada.pl> <slrnkd6f3u.q7b.tom@tv2.dom.local> <50d34032$0$1304$65785112@news.neostrada.pl> <slrnkd741i.r88.tom@tv2.dom.local> <kb10hs$suo$1@dont-email.me> <b387c60e-c43e-4486-812a-53751a7a1f83@googlegroups.com> <50e5294b$0$26683$65785112@news.neostrada.pl> <kc3lo1$717$1@dont-email.me> <50e5691b$0$26705$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!eu.feeder.erje.net!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail From: TrzyLinie <trzyKASUJlinie@USUNo2.pl> Newsgroups: pl.comp.lang.java Subject: Re: Odczyt s CSV Date: Thu, 03 Jan 2013 14:53:17 +0100 Organization: A noiseless patient Spider Lines: 37 Message-ID: <kc42gd$g59$1@dont-email.me> References: <50d244a3$0$1305$65785112@news.neostrada.pl> <kaubma$6fr$1@dont-email.me> <50d2d3a4$0$1315$65785112@news.neostrada.pl> <slrnkd6f3u.q7b.tom@tv2.dom.local> <50d34032$0$1304$65785112@news.neostrada.pl> <slrnkd741i.r88.tom@tv2.dom.local> <kb10hs$suo$1@dont-email.me> <b387c60e-c43e-4486-812a-53751a7a1f83@googlegroups.com> <50e5294b$0$26683$65785112@news.neostrada.pl> <kc3lo1$717$1@dont-email.me> <50e5691b$0$26705$65785112@news.neostrada.pl> Mime-Version: 1.0 Injection-Date: Thu, 3 Jan 2013 13:53:18 +0000 (UTC) Injection-Info: mx04.eternal-september.org; posting-host="9e4f8882abda453f47b5db16bfd5315e"; logging-data="16553"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/Ln50AAmCFFfm94KAXtj0MKFwh3coC4bA=" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Thunderbird/17.0 In-Reply-To: <50e5691b$0$26705$65785112@news.neostrada.pl> Cancel-Lock: sha1:F28mlUHMJ/plysF40LbquUKP7sk= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit