Skocz do zawartości
jongover

Czego się nauczyć, by to umieć?

Rekomendowane odpowiedzi

Cześć,

Mam dosyć ironiczny problem, bo - w skrócie - polega on na tym, że nie wiem od czego zacząć. Nie mam wykształcenia w programowaniu, informatyce ani w niczym pokrewnym, natomiast pracuję naukowo i od jakiegoś czasu moja wiedza dotycząca programów do analizy danych zaczęła być niewystarczająca. Chodzi mi o to, że urządzenia pomiarowe często wypluwają mi gołe dane - wartości x i y z których można utworzyć wykresy itp. I tak, przykładowo, mam 50 takich pomiarów w pliku o rozszerzeniu charakterystycznym dla producenta mojego sprzętu. Workflow wygląda wiec następująco: 1. Odpalenie pliku w programie producenta 2. Kliknięcie w "export to excel" 3. Skopiowanie wartości y z pliku excel 4. Wklejenie do Origina, gdzie wykonuje się całkowanie 5. Skopiowanie obliczonej wartości origina do arkusza w którym zbieram wyniki. Mam po trzy pomiary dla każdej próbki, łącznie 165 pomiarów. Jak można zauważyć, jest tego sporo i klikanie wszystkiego ręcznie wydaje mi się być trochę syzyfową pracą, bo wiem, że pewnie można to jakoś zautomatyzować. I właśnie takiej automatyzacji obliczeń chciałbym się nauczyć. Kiedyś już przerobiłem książkę o pythonie od podstaw, więc mam cichą nadzieję, że mógłbym wykorzystać w tym celu ten język oprogramowania. Znacie może jakieś książki albo kursy, na których nauczono by mnie jak automatyzować coś takiego? Być może, mógłbym napisać program, który pobierałby dane z surowych plików (spróbowałbym je jakoś przekonwertować na pliki tekstowe) i następnie wykonywał całkowanie a wypluwał goły wynik?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie wiem czy są książki na temat automatyzowania pracy, w tym przypadku obróbki danych.

Schemat działania generalnie jest prosty:
- wczytać dane wejściowe
- wykonać obliczenia
- wypluć wynik

Największą trudność widzę we wczytaniu danych. Jeżeli to są jakieś formaty binarne lub inne autorskie producentów sprzętu, to musisz dogrzebać się do ich dokumentacji (o ile jest publicznie dostępna). Jak nie da rady, to zostaje ręczna konwersja do formatów tekstowych.
Jeżeli da się skonfigurować urządzenia, tak żeby od razu dawały w formacie tekstowym (np. csv) lub xml, to z tego co wiem Python ma odpowiednie biblioteki. Do sprawdzenia czy są biblioteki obsługujące arkusze kalkulacyjne.

Obliczenia też powinny być dobrze opisane.
Podobnie zwrócenie wyników. Tutaj już zależy co będzie wygodniejsze, czy eksport do csv, czy od razu wygenerowanie pdf-a z wykresami itp.

 

Inny aspekt automatyzacji, który może nie być prosty, to jakby cały proces miał się odbywać w pełni automatycznie, łącznie z pobraniem danych z urządzeń.
Kwestia czy w ogóle te urządzenia są wpięte w siec, czy udostępniają jakieś protokoły komunikacyjne, zdalny interfejs do pobierania zapisanych danych itd.
Tutaj może być potrzebna wiedza z obsługi połączeń sieciowych oraz jak te urządzenia faktycznie działają. Zostawiłbym to na dalsze etapy.

 

Na poziomie programowania trzeba:
1. zorientować się jakie formaty danych mogą urządzenia wypluć
2. przejrzeć biblioteki pythona obsługujące te formaty danych
2.5. na styku wczytywania i obróbki, w jakich strukturach trzymać dane
3. przejrzeć biblioteki do analizy danych (głowy nie dam, ale chyba "pandas" jest jedną z bardziej popularnych)
4. zastanowić się w jakim formacie zwrócić dane, czy zrobić proste wyniki tekstowe do dalszej obróbki/analizy, czy wygenerować kompletny raport

Na poziomie przepływu danych, sposobie pracy, do rozwiązania:
1. Sposób gromadzenia i przenoszenia danych
2. Wybór co analizować, co agregować, co tak właściwie ma podlegać analizie, jakie można określić zbiory danych
3. Co ma być wynikiem, w jakiej formie

Oczywiście są jeszcze niuanse, czy chcesz łączyć dane z wielu źródeł w jednym raporcie, czy każde obrobić oddzielnie.
Warto też liznąć języki skryptowe powłoki systemu operacyjnego (bash w linuksie, bat w windows), bo pewne rzeczy łatwiej się pisze niż w bardziej zaawansowanych językach.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...