Jak analizować pliki CSV w Python

Komentarze: 0

Parsowanie danych jest definiowane jako automatyczne zbieranie i przetwarzanie informacji, które jest często używane w przypadku plików CSV. Parsowanie oznacza tutaj dzielenie plików CSV na wiersze, kolumny i wartości. W ten sposób dane mogą być analizowane, filtrowane i wyodrębniane do dalszej pracy bez wysiłku. W tym artykule wyjaśnimy, jak używać Pythona do odczytu plików csv. Dodatkowo pokażemy, jak analizować dane z pliku CSV w Pythonie.

Czym jest plik CSV?

CSV, czyli (Comma Separated Values), to format pliku, który zapisuje dane w sposób, w którym wartości są oddzielone przecinkami i przesunięciami nowej linii. Z tego powodu format CSV może być używany w różnych kontekstach, takich jak tworzenie lub modyfikowanie danych w programie Excel.

Jedną z głównych zalet plików CSV jest łatwość dostępu i udostępniania informacji. Jego unikalność pozwala na otwieranie i przetwarzanie pliku niezależnie od używanego oprogramowania. Dzięki temu wygodnie jest eksportować takie dane w postaci arkusza kalkulacyjnego lub bazy danych.

Pokażmy teraz, jak otworzyć i odczytać CSV w Pythonie w poniższym bloku.

Parsowanie plików CSV w Pythonie

Python posiada wbudowaną bibliotekę CSV, która z łatwością odczytuje i zapisuje dane. Instalowanie zewnętrznych bibliotek nie jest konieczne, co sprawia, że analizowanie zawartości i otwieranie plików jest tak łatwym zadaniem.

Poniższe fragmenty kodu pokazują, jak otworzyć i wydrukować plik CSV o nazwie university_records w Pythonie. Używa trybu odczytu, aby otworzyć plik, a następnie odczytuje plik CSV, a na koniec drukuje dane za pomocą pętli for.


import csv

with open('university_records.csv', 'r') as csv_file:
    reader = csv.reader(csv_file)

    for row in reader:
        print(row)

Zapisywanie plików CSV za pomocą Pythona

W tym celu wykorzystamy moduł CSV do zapisu danych. Istnieją przydatne metody pomagające w zapisywaniu informacji w module CSV:

  • .writer() - służy jako narzędzie do tworzenia plików;
  • .writerow() - przechowuje dane w wierszu.

Metody modułu zostały kompleksowo zilustrowane w poniższym kodzie:


import csv

row = ['David', 'MCE', '3', '7.8']

row1 = ['Monika', 'PIE', '3', '9.1']

row2 = ['Raymond', 'ECE', '2', '8.5']

with open('university_records.csv', 'a') as csv_file:
    writer = csv.writer(csv_file)

    writer.writerow(row)

    writer.writerow(row1)

    writer.writerow(row2)

Parsowanie CSV za pomocą biblioteki Pandas

Używanie Pythona do analizowania plików CSV ma obecnie kluczowe znaczenie: od arkuszy kalkulacyjnych dla finansów po kolosalne bazy danych do uczenia maszynowego. Czasami praca z tymi plikami jest uciążliwa, zwłaszcza gdy potrzebujesz więcej funkcji niż to, co Python zapewnia po wyjęciu z pudełka. W takich przypadkach przydaje się biblioteka Pandas.

Pełne możliwości zapisu danych za pomocą DataFrame zostały zademonstrowane poniżej. DataFrame jest jedną z głównych struktur danych w bibliotece Pandas i służy do pracy z danymi tabelarycznymi.


import pandas as pd

data = {"Name": ["David", "Monika", "Raymond"], 
        "Age": [30, 25, 40], 
        "City": ["Kyiv", "Lviv", "Odesa"]
} 

df = pd.DataFrame(data) 

file_path = "data.csv" 
df.to_csv(file_path, index=False, encoding="utf-8")



Kluczowe cechy biblioteki Pandas

W Pythonie biblioteka Pandas jest uważana za jedną z najskuteczniejszych do analizowania CSV, a oto powody, dla których jest tak potężna i wygodna:

  1. Proste przesyłanie plików. Jeśli zbiór danych pochodzi z wielu źródeł i ma niespójność w formatowaniu, to Pandas udowadnia, że jest magiczny, ponieważ automatycznie analizuje plik, eliminując ręczny wysiłek.
  2. Skalowalność. Gdy standardowe biblioteki Pythona próbują analizować duże pliki CSV, zwykle mają duże opóźnienia, ale w przypadku Pandas optymalizacja jest wykonywana, ponieważ jest ona lepsza w działaniu z większymi plikami. Ponadto fragmentacja przesyłanego pliku umożliwia zapobieganie przeciążeniu pamięci.
  3. Radzenie sobie z różnymi procesami. Brakujące wartości, nieprawidłowe formaty i duplikaty są głównie spotykane w plikach CSV. Dobrze, że Pandas po raz kolejny udowadnia tę magię dzięki wbudowanym narzędziom, takim jak zastępowanie brakujących danych i typów, czyszczenie znaków i restrukturyzacja informacji w celu zaawansowanej analizy.

Te funkcje pokazują, że biblioteka jest najlepsza do szybkiej analizy plików CSV, ponieważ inne narzędzia są ograniczone w porównaniu. Jednocześnie jest w stanie przetwarzać duże ilości danych, co czyni ją niezwykle przydatną w świecie informacji.

Odczytywanie plików CSV za pomocą Pandas

Przed użyciem dokumentu CSV, pierwszym krokiem jest jego załadowanie.


import pandas as pd

df = pd.read_csv("data.csv")

Kiedy mamy do czynienia z obszernymi zbiorami danych, narzędzia Pandas są odpowiednie do użycia. Przyjrzyjmy się, jak skrypt Pythona może przeanalizować plik CSV.


df.head() # Wyświetla pierwsze 5 wierszy
df.tail(10) # Wyświetla 10 ostatnich wierszy
df.info() # Wyświetla listę kolumn, typy danych i liczbę wypełnionych wartości

For selecting one or multiple columns, execute:


df["Name"] # Pobierz kolumnę "Name"


df[["Name", "Age"]] # Wyodrębnij tylko "Name" i "Age"

Zapisywanie plików CSV za pomocą Pandas

Przyjrzyjmy się teraz, jak wstawiać, modyfikować i usuwać poszczególne wiersze.

Wstawianie nowego wiersza:


# Załaduj plik CSV
df = pd.read_csv(file_path) 

# Dodaj nowy wiersz
new_row = pd.DataFrame([{"Name": "Denys", "Age": 35, "City": "Kharkiv"}]) df = pd.concat([df, new_row], ignore_index=True) 


# Zapisz
df.to_csv(file_path, index=False, encoding="utf-8")

Modyfikacja określonego wiersza:


df = pd.read_csv(file_path) 

# Zmień wiek Ivana
df.loc[df["Name"] == "Ivan", "Age"] = 26 

df.to_csv(file_path, index=False, encoding="utf-8")

Usuwanie wiersza:


df = pd.read_csv(file_path) 

# Usuń wiersz, w którym Name == "Mykhailo". 
df = df[df["Name"] != "Mykhailo"] 

df.to_csv(file_path, index=False, encoding="utf-8")

Wnioski

Podsumowując, w tym artykule pokazaliśmy, jak otworzyć i odczytać plik CSV w Pythonie. Jednak zawsze, gdy użytkownik potrzebuje większej dokładności i potężnych narzędzi interpretujących, Pandas sprawdza się doskonale. Automatyzujące powtarzalne procesy, pozwalając na obsługę ogromnych plików i oszczędzając czas, biblioteka ta jest bardzo skuteczna. W związku z tym można stwierdzić, że w przypadku podstawowych funkcji standardowa biblioteka CSV spełnia wymagania, podczas gdy Pandas jest przeznaczony do obsługi obszernych danych informacyjnych.

Komentarze:

0 komentarze