Pracuję nad kodem C++, który integruje informacje z około kilkudziesięciu plików CSV. Wszystkie zawierają pewne dane rekordów z datą, które chcę wyodrębnić, ale reprezentacja jest nieco inna w każdym pliku. Różnice między reprezentacjami wykraczają poza różne porządki kolumn i nazwy kolumn - na przykład, jeden wiersz z wieloma kolumnami w jednym pliku może być wieloma wierszami w innym pliku.Wzorce projektowe do agregowania heterogenicznych danych tabelarycznych
Potrzebuję więc niestandardowej obsługi każdego pliku, aby utworzyć ujednoliconą strukturę danych, która zawiera niezbędne informacje ze wszystkich plików. Moje pytanie brzmi, czy istnieje preferowany wzór kodu, aby zachować złożoność i kodeks był elegancki? Albo jeśli istnieje dobre studium przypadku, powinienem zbadać, aby zobaczyć, jak tego rodzaju złożoność została rozwiązana w przeszłości.
(Zdaję sobie sprawę, że coś takiego może być łatwiejsze w języku skryptowym, takim jak perl, ale projekt jest w C++ na teraz. Ponadto, moje pytanie bardziej dotyczy tego, czy istnieje wzór kodu, który sobie z tym poradzi - więc odpowiedź brzmi "Trzeba być zbyt specyficznym językowo.)
Prawdopodobnie potrzebujesz pewnego rodzaju widoku na swoje dane ... – ltjax
Czy w katalogu głównym wszystkie dane źródłowe są w przybliżeniu takie same, nawet jeśli reprezentacje są różne?Czy wiesz, zanim otworzysz plik, w którym jest on formatowany, czy najpierw musisz przeczytać wiersz nagłówka? –
Znam formaty apriori, chociaż nie ma prostego sposobu programowego wnioskowania struktury z nagłówków (konwencje używane do nazywania kolumn i formatowania daty są różne, aw niektórych przypadkach nawet struktura wiersza/kolumny różni się między plikami, jak na przykład, o którym wspomniano). – daj