Potrzebuję skryptu, który scalałby kilkadziesiąt plików tekstowych w formacie csv w jeden plik o tym samym formacie csv.

Closed job
no avatar
Zenon Koszorz
Employer
1 deal
Job category:
Desktop/web applications
Expected budget:

Negotiable

Published:
Finished

Job description

Szukam programisty, który napisałby skrypt (w dowolnym języku), który scalałby kilkadziesiąt plików tekstowych w formacie csv (takich jak załączone AM-ADVIS.CSV oraz ND-TOTIS.CSV) w jeden, również w formacie csv. Wszystke pliki zawierają kolumny danych, z których pierwsza jest datą, pozostałe to wartości liczbowe. Ilość kolumn jest różna dla różnych plików - czasami jest to 1 kolumna, a czasami 4 (poza datą), ponieważ są to dane giełdowe. 4 kolumny oznaczają dane z:

otwarcia (O - open),

najwyższej (H - high)

najniższej (L - low)

zamknięcia (C - close)

Widziałbym to tak: istniałby plik „sterujący”, w którym jak (edytując go) podawałbym nazwy plików do scalenia (wraz ze ścieżką dostępu), a skrypt scalałby to wszystko razem. Nazwa pliku wynikowego też podawana byłaby w pliku „sterującym”.

Scalanie polegałoby na dopisywaniu/dodawaniu wartości znajdujące się w kolumnach następujących po dacie w kolejnych plikach. Czyli do nowego pliku (wynikowego) byłaby wpisywana kolumna z datą oraz następująca po niej kolumna z danymi (przykładowo z pliku AM-ADVIS.CSV), a następnie dopisywana byłaby kolumna z samymi danymi z następnego pliku (ND-TOTIS.CSV) . W efekcie powinien powstać „Plik-wynikowy.csv” - jego przykład załączyłem.

Ponieważ niektóre pliki zawierają 4 kolumny danych (SP500.csv), w pliku sterującym określane byłoby którą kolumnę lub kolumny należy pobrać. Te kolumny chciałbym określić jako: O, H, L, C (Open, High, Low, Close – ba takie są dane giełdowe). Czyli przykładowy plik sterujący (w formacie csv) wyglądałby tak:

D:\DATA\IDXDATA\, H, L, C

D:\DATA\IDXDATA\AM-ADVIS.CSV, C

D:\DATA\IDXDATA\ND-TOTIS.CSV, C

D:\DATA\FOREX\ AUDCAD.CSV, O, C

….itd.

Nazwy poszczególnych kolumn w pliku wynikowym byłyby takie same jak nazwy plików z których pobierane są dane z dodaną końcówką: _O, _H, _L lub _C, czyli w naszym przypadku: SP500_O; SP500_H; SP500_L; SP500_C; AM-ADVIS_C ; ND-TOTIS_C . Pierwsza kolumna zawsze będzie miała nazwę: data. Pokazałem to w „Plik-wynikowy.csv”

Zenon Koszorz

zenek.koszorz@icloud.com

Required functions:

Attached files