Autor Wątek: Mniej popularne, ale ciekawe języki programowania  (Przeczytany 17543 razy)

Offline Xirdus

  • Redaktor

# Sierpień 14, 2014, 12:28:48
Chodzi mi cały czas o konwerter o z SQL na CSV.
A zalinkowany przez Xendera q operuje na plikach już będących w CSV.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Sierpień 14, 2014, 12:31:09
A zalinkowany przez Xendera q operuje na plikach już będących w CSV.
Tak. I przyjmuje polecenia w SQL. To, że na podstawie serii poleceń SQL jest w stanie stworzyć plik CSV, to już chyba powinno być oczywiste. :P

Offline Xirdus

  • Redaktor

# Sierpień 14, 2014, 13:04:21
Tak. I przyjmuje polecenia w SQL. To, że na podstawie serii poleceń SQL jest w stanie stworzyć plik CSV, to już chyba powinno być oczywiste. :P
Przeglądnąłem źródełka (o dziwo, to Python), i chyba nie zapisuje on żadnych zmian, więc generacja CSV z poleceń SQL nie zadziała. Generalnie program działa tak, że tworzy tymczasową bazę danych, zapełnia ją danymi z CSV, a potem wykonuje SQL-owe operacje na tej kopii. Chyba że coś źle przeczytałem.

Offline Xender

  • Użytkownik

# Sierpień 15, 2014, 01:01:40
To już jest sztuka dla sztuki. Jak chcesz bazę danych SQL, to robisz bazę danych SQL, a jak nie chcesz, to po co SQL.
Pewnie po to, żeby robić nietrywialne zapytania na danych w plikach plaintextowych. Dla Small Data jak znalazł, bo ręczne importowanie do bazy danych to byłby overkill.

Offline bies

  • Użytkownik

# Sierpień 15, 2014, 02:58:00
Pewnie po to, żeby robić nietrywialne zapytania na danych w plikach plaintextowych. Dla Small Data jak znalazł, bo ręczne importowanie do bazy danych to byłby overkill.
W takim przypadku polecam R + pakiet sqldf. Nadaje się do przetwarzania dowolnych danych za pomocą SQL i samego R. Z tym, że dane muszą mieścić się w pamięci.

Offline Xirdus

  • Redaktor

# Sierpień 15, 2014, 15:54:00
Pewnie po to, żeby robić nietrywialne zapytania na danych w plikach plaintextowych. Dla Small Data jak znalazł, bo ręczne importowanie do bazy danych to byłby overkill.
Żeby można robić zapytania SQL na pliku, format pliku musi być przystosowany do obsługi tych zapytań. Stworzenie bazy danych SQLite będzie dużo prostsze i wydajniejsze niż stworzenie pliku CSV w odpowiedniej formie - chyba że danych jest naprawdę bardzo mało, ale wtedy nie widzę sensu robienia jakichkolwiek zapytań.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Sierpień 15, 2014, 22:12:13
Cytuj
Żeby można robić zapytania SQL na pliku, format pliku musi być przystosowany do obsługi tych zapytań.
Niekoniecznie. Może to być po prostu niewydajne, ale nadal możliwe.

Cytuj
Stworzenie bazy danych SQLite będzie dużo prostsze i wydajniejsze niż stworzenie pliku CSV w odpowiedniej formie
Nie powiedział bym. Jeżeli generujesz dane z jakichś skryptów, to CSV jest łatwiejszy bo jest tekstowy. Jeżeli wpisujesz z ręki, to najczęściej formatem źródłowym będzie Excel/<odpowiednik z pakietu OpenOffice>, które mają eksport do CSV. Poza tym CSV jest już chyba de-facto standardem do wymiany danych tabelowych - nawet skelpy internetowe i banki już pozwalają na ściągnięcie danych w CSV.

Offline Xender

  • Użytkownik

# Sierpień 16, 2014, 15:48:46
Żeby można robić zapytania SQL na pliku, format pliku musi być przystosowany do obsługi tych zapytań. Stworzenie bazy danych SQLite będzie dużo prostsze i wydajniejsze niż stworzenie pliku CSV w odpowiedniej formie - chyba że danych jest naprawdę bardzo mało, ale wtedy nie widzę sensu robienia jakichkolwiek zapytań.
Prostsze, niż wydanie jednej komendy? No nie wiem.
Wydajniejsze? Poniżej pewnego progu raczej nie. A próg, przy którym ma to jakiekolwiek znaczenie jest przeważnie jeszcze wyżej.

No dla mnie małe to tutaj np. ???KiB - ?MiB. Dla komputera to mało, dla oka - dużo.