Come analizzare i file CSV in Python

Commenti: 0

Per parsing dei dati si intende la raccolta e l'elaborazione automatica delle informazioni, spesso utilizzata nel caso dei file CSV. In questo caso, parsing significa suddividere i file CSV in righe, colonne e valori. In questo modo, i dati possono essere analizzati, filtrati ed estratti per un ulteriore lavoro senza alcuno sforzo. In questo articolo spiegheremo come usare Python per leggere i file CSV. Inoltre, mostreremo come analizzare i dati da un file CSV in Python.

Che cos'è un file CSV?

CSV, o (Comma Separated Values), è un formato di file che salva i dati in modo che i valori siano separati da virgole e nuovi spostamenti di riga. Per questo motivo, il formato CSV può essere utilizzato in diversi contesti, come la creazione o la modifica di dati in Excel.

Un punto di forza dei file CSV è la facilità di accesso e di condivisione delle informazioni. La sua unicità consente di aprire ed elaborare il file indipendentemente dal software utilizzato. Ciò rende conveniente esportare tali dati sotto forma di foglio di calcolo o di database.

Ora mostriamo come aprire e leggere CSV in Python nel seguente blocco.

Analizzare i file CSV con Python

Python ha una libreria CSV integrata che è in grado di leggere e scrivere dati con facilità. Non è necessario installare librerie esterne, il che rende l'analisi dei contenuti e l'apertura dei file un compito facile.

I seguenti segmenti di codice mostrano come aprire e stampare un file СSV chiamato university_records in Python. Utilizza la modalità di lettura per aprire il file, quindi legge il file CSV e infine stampa i dati con un ciclo for.


import csv

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

    for row in reader:
        print(row)

Scrivere file CSV con Python

A questo scopo, utilizzeremo il modulo CSV per scrivere i dati. Esistono metodi utili per aiutarvi a scrivere informazioni nel modulo CSV:

  • .writer() - serve a creare un file;
  • .writerow() - memorizza i dati in una riga.

I metodi del modulo sono illustrati in modo esauriente nel codice sottostante:


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)

Analizzare CSV con la libreria Pandas

L'uso di Python per analizzare i file CSV è fondamentale al giorno d'oggi: dai fogli di calcolo per la finanza ai colossali database per l'apprendimento automatico. A volte lavorare con questi file è una seccatura, soprattutto quando si ha bisogno di più funzioni di quelle fornite da Python. In questi casi, la libreria Pandas può essere utile.

Di seguito viene dimostrata la piena capacità di scrivere dati con DataFrame. DataFrame è una delle principali strutture di dati della libreria Pandas ed è utilizzata per lavorare con dati tabellari.


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")



Caratteristiche principali della libreria Pandas

La libreria Pandas per Python è considerata una delle più efficaci per analizzare CSV ed ecco i motivi per cui è così potente e conveniente:

  1. Semplice caricamento dei file. Se un set di dati proviene da più origini e presenta incoerenze nella sua formattazione, allora Pandas dimostra di essere magico, in quanto analizza il file automaticamente eliminando lo sforzo manuale.
  2. Scalabilità. Quando le librerie Python standard cercano di analizzare file CSV di grande volume, di solito sono molto in ritardo, ma con Pandas, l'ottimizzazione è fatta, perché è in grado di funzionare bene con i file più grandi. Inoltre, la frammentazione del caricamento dei file consente di evitare il sovraccarico di memoria.
  3. Gestire i vari processi. Valori mancanti, formati errati e duplicati si trovano principalmente nei file CSV. Pandas dimostra ancora una volta la sua magia grazie a strumenti integrati come la sostituzione dei dati e dei tipi mancanti, la pulizia dei caratteri e la ristrutturazione delle informazioni per un'analisi avanzata.

Queste caratteristiche dimostrano che la libreria è la migliore per analizzare rapidamente i file CSV, poiché altri strumenti sono limitati in confronto. Allo stesso tempo, è in grado di elaborare grandi quantità di dati, il che la rende estremamente utile nel mondo dell'informazione.

Lettura di file CSV con Pandas

Prima di poter utilizzare un documento CSV, il primo passo è caricarlo.


import pandas as pd

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

Quando si ha a che fare con insiemi di dati estesi, è opportuno utilizzare gli strumenti Pandas. Vediamo come uno script Python può analizzare un file CSV.


df.head() # Mostra le prime 5 righe
df.tail(10) # Mostra le ultime 10 righe
df.info() # Fornisce un elenco di colonne, tipi di dati e numero di valori riempiti

Per selezionare una o più colonne, eseguire:


df["Name"] # Ottenere la colonna "Nome"


df[["Name", "Age"]] # Estrarre solo "Nome" ed "Age".

Scrivere file CSV con Pandas

Vediamo ora come inserire, modificare e rimuovere determinate righe.

Inserimento di una nuova riga:


# Caricare il file CSV
df = pd.read_csv(file_path) 

# Aggiungere una nuova riga
new_row = pd.DataFrame([{"Name": "Denys", "Age": 35, "City": "Kharkiv"}]) df = pd.concat([df, new_row], ignore_index=True) 


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

Modifica di una riga particolare:


df = pd.read_csv(file_path) 

# Cambiare l'età di Ivan
df.loc[df["Name"] == "Ivan", "Age"] = 26 

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

Rimozione di una riga:


df = pd.read_csv(file_path) 

# Rimuovere la riga in cui Nome == "Mykhailo". 
df = df[df["Name"] != "Mykhailo"] 

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

Conclusione

Per riassumere, in questo articolo abbiamo mostrato come aprire e leggere un file CSV in Python. Ma quando l'utente ha bisogno di una maggiore precisione e di potenti strumenti di interpretazione, Pandas funziona perfettamente. Automatizzando i processi ripetitivi, consentendo la gestione di file enormi e risparmiando tempo, questa libreria è molto efficace. Si può quindi concludere che per le funzioni di base, la libreria CSV standard fornisce i requisiti, mentre Pandas è fatta per gestire dati informativi estesi.

Commenti:

0 Commenti