Jak połączyć pliki CSV w Python

Jak połączyć pliki CSV w Python

Czasami podany zestaw danych nie jest w jednym pliku CSV. Wszystkie są na różnych arkuszach Excel. Wiesz już, że preferowane jest wykonywanie wszystkich działań obliczeniowych lub wstępnych na jednym zbiorze danych zamiast w kilku zestawach danych. Zmniejsza lub oszczędza czas, który musimy poświęcić na zadania wstępne. Ponadto, jako analityk danych lub naukowiec danych, możesz często być przeciążony przez wiele plików CSV, które należy połączyć przed rozpoczęciem analizy lub analizy dostępnych danych. Z drugiej strony nie zawsze jest możliwe, że wszystkie pliki są uzyskiwane z pojedynczego lub tego samego źródła danych i mają te same nazwy i strukturę danych kolumny/zmiennych. Ten post nauczy Cię łączyć dwa lub więcej plików CSV z podobną lub inną strukturą kolumny.

Po co łączyć pliki CSV?

Zestaw danych może być gromadzeniem lub grupą wartości lub liczb związanych z konkretnym tematem. Na przykład wyniki testu każdego ucznia w określonej klasie są przykładem zestawu danych. Ze względu na rozmiar dużych zestawów danych często są przechowywane w osobnych plikach CSV dla różnych kategorii. Na przykład, jeśli jesteśmy zobowiązani do zbadania pacjenta pod kątem konkretnej choroby, musimy rozważyć każdy składnik, w tym jego płeć, dokumentację medyczną, wiek, nasilenie choroby itp. W konsekwencji wymagane jest połączenie danych CSV do zbadania różnych aspektów związanych z predyktorem. Ponadto lepiej jest pracować i zarządzać jednym zestawem danych niż kilka zestawów danych podczas wykonywania zadań obliczeniowych lub wstępnych. Zapisuje pamięć i inne zasoby obliczeniowe

Jak połączyć pliki CSV w Python?

Istnieje wiele sposobów i metod łączenia dwóch lub więcej plików CSV w Python. W poniższej sekcji użyjemy funkcji append (), concat () i merge () itp., W celu połączenia plików CSV w Pandy DataFrame, wówczas DataFrame zostaną przekonwertowane na pojedynczy plik CSV. Nauczymy, jak łączyć wiele plików CSV z podobną lub zmienną strukturą kolumny.

Metoda nr 1: Łączenie CSV z podobnymi strukturami lub kolumnami

Nasz obecny katalog roboczy ma dwa pliki CSV, „test1” i „test2”.

Przykład nr 1: Korzystanie z funkcji append ()

Oba pliki CSV mają tę samą strukturę. Funkcja glob () zostanie użyta w tej metodzie do wymienienia tylko plików CSV w katalogu roboczym. Następnie użyjemy „Pandy.Ramka danych.append () ”, aby odczytać nasze pliki CSV (o wspólnej strukturze tabeli).

Wyjście:

Korzystając z funkcji dołączania, dołączyliśmy lub dodaliśmy każdy wiersz danych z test2.CSV w ramach danych testowych 1.CSV, jak widać, że wszystkie wiersze danych pliku zostały połączone. Aby przekonwertować tę ramkę danych na CSV, możemy użyć funkcji to_csv ().

To utworzy połączony plik CSV plików CSV „test1” i „test2” w naszym katalogu roboczym o określonej nazwie, i.mi., scalone.CSV.

Przykład nr 2: Za pomocą funkcji conat ()

Najpierw zaimportujemy moduł pandas. Metoda mapy odczytuje każdy plik CSV, który przekazaliśmy za pomocą PD.read_csv (). Te odwzorowane pliki (pliki CSV) będą następnie domyślnie połączone wzdłuż osi wiersza za pomocą funkcji PD.conat (). Jeśli chcemy połączyć pliki CSV w poziomie, możemy przekazać oś = 1. Określanie indeksu ignor = true tworzy również ciągłe wartości indeksu dla połączonej ramki danych.

PD.read_csv () jest przekazywany w funkcji concat () w celu odczytania plików CSV w Pandas DataFrame.

Otrzymaliśmy ramkę danych z połączonymi danymi wszystkich plików CSV w katalogu roboczym. Teraz przekonwertujmy go na plik CSV.

Nasz połączony CSV jest tworzony w bieżącym katalogu.

Metoda nr 2: Łączenie CSV z różnymi strukturami lub kolumnami

W pierwszej metodzie omówiliśmy połączenie plików CSV z tymi samymi kolumnami i strukturą. W tej metodzie połączymy pliki CSV z różnymi kolumnami i strukturami.

Przykład nr 1: Za pomocą funkcji merge ()

„Pandy.Merge () ”Funkcja w module Panda może łączyć dwa pliki CSV. Scalanie po prostu odnosi się do połączenia dwóch zestawów danych w pojedynczy zestaw danych oparty na współdzielonych kolumnach lub atrybutach.

Możemy scalać struki danych na cztery różne sposoby dołączenia:

  • Wewnętrzny
  • Prawidłowy
  • Lewy
  • Zewnętrzny

Aby wykonać tego rodzaju scalki, użyjemy dwóch plików CSV.

Zauważ, że przynajmniej jeden atrybut lub kolumna musi być udostępniana przez oba pliki CSV. Zgodnie z zaobserwowaniem kolumna „nazwa” i niektóre z jej atrybutów są udostępniane obiema plikami CSV.

Scal za pomocą Wewnętrznego dołączenia

Określanie parametru How = „wewnętrzny” w funkcji Merge () połączy dwie formy danych zgodnie z określoną kolumną, a następnie zapewni nową ramkę danych, która zawiera tylko wiersze z identycznymi/samymi wartościami w obu oryginalnych ramach danych.

Jak można zobaczyć, że funkcja połączyła zarówno pliki CSV i zwróciła wiersze na podstawie wspólnych atrybutów kolumny „Nazwa”.

Scal za pomocą odpowiedniego połączenia zewnętrznego

Gdy określono parametr = „right”, obieframe danych zostaną połączone na podstawie kolumny określonej dla parametru „ON”. A nowa ramka danych zawierająca wszystkie wiersze z prawej ramki danych, w tym wszelkie wiersze, dla których lewa ramka danych nie zawiera żadnych wartości, zostanie zwrócona, z wartością kolumny lewej DataFrame na NAN.

Scal za pomocą lewego zewnętrznego połączenia

Gdy parametr jest określony jako „lewy”, dwie oprawy danych zostaną połączone na podstawie określonej kolumny za pomocą parametru „On”, zwracając nową ramkę danych, która ma wszystkie wiersze z lewej ramki danych, a także wszelkie wiersze, które mają NAN lub wartości zerowe we właściwej ramce danych i ustawia odpowiednią wartość kolumny DataFrame na NAN.

Scal za pomocą pełnego zewnętrznego połączenia

Kiedy określono = „zewnętrzny”, dwie oprawy danych zostaną połączone w zależności od kolumny określonej dla parametru „On”, zwracając nową ramkę danych zawierającą wiersze zarówno z DF1, jak i DF2, i ustawiając NAN jako wartość dla dowolnego wierszy Dla których dane są nieobecne w jednej z ram danych.

Przykład nr 2: Połączenie wszystkich plików CSV w katalogu roboczym

W tej metodzie użyjemy modułu globu, aby połączyć wszystkie .Pliki CSV w Pandy DataFrame. Wszystkie biblioteki musiały zostać zaimportowane najpierw. Następnie ustawimy ścieżkę dla każdego pliku CSV, który chcemy połączyć. Ścieżka pliku jest pierwszym argumentem dla systemu operacyjnego.ścieżka.łączenie () funkcja w poniższym przykładzie, a drugim argumentem są albo komponenty ścieżki lub .Pliki CSV do połączenia. Tutaj wyrażenie „*.CSV 'znajdzie i zwróci każdy plik w katalogu roboczym, który kończy się .Rozszerzenie pliku CSV. Glob.Funkcja glob (połączone pliki) akceptuje listę nazw scalonych plików jako wejściowe i wyprowadza listę wszystkich scalonych/połączonych plików.

Ten skrypt zwróci ramkę danych ze połączonymi danymi wszystkich plików CSV w naszym katalogu roboczym.

Ta konfiguracja danych zostanie przekształcona w plik CSV, a do tej konwersji zostanie użyta funkcja TO_CSV (). Ten nowy plik CSV będzie połączonymi plikami CSV utworzonymi ze wszystkich plików CSV przechowywanych w bieżącym katalogu roboczym.

Wniosek

W tym poście omówiliśmy, dlaczego musimy łączyć pliki CSV. Omówiliśmy, w jaki sposób dwa lub więcej plików CSV można łączyć w Python. Podzieliliśmy ten samouczek na dwie sekcje. W pierwszej sekcji wyjaśniliśmy, jak używać funkcji append () i concat () do łączenia plików CSV o tej samej strukturze lub nazwach kolumnowych. W drugiej sekcji zastosowaliśmy metodę Merge (), OS.ścieżka.dołącz () i metoda globu do łączenia plików CSV różnych kolumn i struktur.