Maciej Z. taskbeat.pl
Mariusz
Bułkowski
W tajnej służbie Jej
Królewskiej Mości
Temat: Komponenty do importu CSV
Maciej Z.:Na mnogość formatów ciężko poradzić, teoretycznie można by było zrobić tak jak excel, czyli podczas otwierania pytasz się uzytkownika
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.
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.orgProblemem 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
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. 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. Właściciel X-DV
Temat: Komponenty do importu CSV
można też użyć ADOuż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
Następna dyskusja: