Maciej Z.

Maciej Z. taskbeat.pl

Temat: Komponenty do importu CSV

Czy ktoś zna jakieś uniwersalne komponenty do importowania plików CSV i przedstawiania ich jako DataSet? Osobiście kupiłem i używam kbmMemoryTable, ale ostatnio przyglądam się skomplikowanym plikom CSV (nie pasujące nagłówki, separacja za pomocą różnych znaków, dziwne kodowania plików) i nie jestem za bardzo zadowolony z pomocy technicznej i dostępnej dokumentacji.
Mariusz Bułkowski

Mariusz Bułkowski W tajnej służbie Jej
Królewskiej Mości

Temat: Komponenty do importu CSV

Maciej Z.:
Czy ktoś zna jakieś uniwersalne komponenty do importowania plików CSV i przedstawiania ich jako DataSet? Osobiście kupiłem i używam kbmMemoryTable, ale ostatnio przyglądam się skomplikowanym plikom CSV (nie pasujące nagłówki, separacja za pomocą różnych znaków, dziwne kodowania plików) i nie jestem za bardzo zadowolony z pomocy technicznej i dostępnej dokumentacji.
Na mnogość formatów ciężko poradzić, teoretycznie można by było zrobić tak jak excel, czyli podczas otwierania pytasz się uzytkownika
o format danych , separator, kodowanie itp.
Ewentualnie użytkownikowi wyświetlić dane przed importem, jak wyglądają OK to dalej jeżeli coś nie tak to kontakt z Tobą ;)
A i tak nie przewidzisz wszystkiego bo user zawsze Cię zaskoczy

Ewentualnie można przeprowadzać analize statystyczną dokumentu i rozpoznać kodowanie oraz separator.

Ewentualnie można dać ogłoszenie na zleceniaprzez.net

konto usunięte

Temat: Komponenty do importu CSV

Kompilator Free Pascal zawiera kody źródłowe komponentów bazodanowych do obsługi plików DBF (dBase) i CSV (inaczej SDF - tekst rozdzielony tabulacjami lub przecinkami czy innymi znakami). Są to gotowe moduły bazodanowe. Można je używać w swoich programach. Komponent do obsługi plików CSV to TSdfDataSet w kodzie źródłowym Free Component Library (FCL) - w pliku sdfdata.pp. Informacje dotyczące Free Pascal są na stronie http://www.freepascal.org

Problemem będzie jednak kompilacja tych kodów źródłowych np. w Delphi. Jeżeli ktoś używa Lazarusa to nie ma problemu. Wystarczy tylko użyć tych komponentów w programie bo są one już skompilowane jako pliki *.ppu i *.o.

konto usunięte

Temat: Komponenty do importu CSV

Maciej Z.:
Czy ktoś zna jakieś uniwersalne komponenty do importowania plików CSV i przedstawiania ich jako DataSet? Osobiście kupiłem i używam kbmMemoryTable, ale ostatnio przyglądam się skomplikowanym plikom CSV (nie pasujące nagłówki, separacja za pomocą różnych znaków, dziwne kodowania plików) i nie jestem za bardzo zadowolony z pomocy technicznej i dostępnej dokumentacji.

Jeśli masz jakieś pytania dot. CSV to pytaj - spróbuję odpowiedzieć.
POPRAWNA funkcja czytająca CSV nie jest skomplikowana - jeśli się wie jak to zrobić. Zajmuje może jeden ekran.
Jak dotychczas żaden spotkany przeze mnie parser (Delphi czy PHP) nie spełniał wszystkich wymogów formatu CSV. Dlatego warto zrobić swój.

Podstawowe parametry pliku CSV to obecność nagłówka (T/N), separator pól i znak cytowania.
Dodatkowo Excel potrafi eksportować pola zawierające znaki końca linii a pola mogą zawierać znaki cytowania W ŚRODKU POLA.

Więcej: http://pl.wikipedia.org/wiki/CSV_%28format_pliku%29Piotr Likus edytował(a) ten post dnia 02.11.09 o godzinie 10:18
Mariusz Bułkowski

Mariusz Bułkowski W tajnej służbie Jej
Królewskiej Mości

Temat: Komponenty do importu CSV

A jak już będziemy umieli czytać CSV to już tylko krok aby zrobić z tego Tdataset-a. Kilka przykładów w sieci można znaleźć.
FreePascala to ja bym nie męczył, bo jak klasa ma dużo dodatkowych funkcji oprócz tego co potrzebujemy to nie wiem czy szybciej nie bedzie napisaćMariusz Bułkowski edytował(a) ten post dnia 02.11.09 o godzinie 10:48
Robert W.

Robert W. Programista

Temat: Komponenty do importu CSV

W pakiecie JEDI jest kilka komponentów, które umożliwiają łatwą i prostą edycje/parsowanie pliku CSV.
Kamil M.

Kamil M. Właściciel X-DV

Temat: Komponenty do importu CSV

można też użyć ADO

używając connection stringa (zmieniając odpowiednio parametry aby pasowały konkretnemu rozwiązaniu):

Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:\jakis_folder_z_plikami\;Extensions=asc,csv,tab,txt;


wtedy można korzystać z pliku csv jak z bazy danych (a dokładniej tabeli przykładowo:
select * from kontakty.csv
)Kamil M. edytował(a) ten post dnia 17.11.09 o godzinie 10:16

Podobne tematy


Następna dyskusja:

Banki i plik CSV - pomoc




Wyślij zaproszenie do