top of page

Diversi modi di leggere un file con Python

I dati sono il pane quotidiano di un Data Scientist, quindi è fondamentale conoscere molti approcci per il caricamento dei dati per poi poterci eseguire un'analisi. Ora vedremo cinque tecniche Python per importare i tuoi dati accompagnate con esempi di codice python.


Come principiante, potresti conoscere un solo modo per caricare i dati con python (normalmente in CSV) che consiste nel leggerli usando la funzione pandas.read_csv . È una delle funzioni più mature e forti, ma altri modi sono molto interessanti da conoscere e a volte torneranno sicuramente utili.


Diversi modi di leggere un file con Python
Diversi modi di leggere un file con Python

Le modalità per leggere un file in Python sono:

  • Manuale

  • loadtxt

  • genfromtxt

  • read_csv

  • Pickle


Il set di dati che utilizzeremo per caricare i dati può essere trovato qui nella cartella CSV. Si chiama 100-Sales-Records.



Importiamo le librerie necessarie per testare 5 differenti modi di leggere un file con Python

Utilizzeremo i pacchetti Numpy, Pandas e Pickle, quindi importali.

import numpy as np
import pandas as pd  
import pickle


Modi di leggere un file con Python 1. Funzione manuale

Questo è il più difficile, poiché devi progettare una funzione personalizzata, che può caricare i dati per te. Devi avere a che fare con i normali concetti di archiviazione di Python e usandolo devi leggere un file .csv .

Facciamolo sul file 100 Sales Records.

def load_csv(percorsofile): 
    data = [] 
    col = [] 
    checkcol = False 
    with open(percorsofile) as f: 
        for val in f.readlines(): 
            val = val.replace("\n","") 
            val = val.split(',') 
            if checkcol is False: 
                col = val 
                checkcol = True 
            else: 
                data.append(val) 
    df = pd.DataFrame(data=data, columns=col) 
    return df

Hmmm, cos'è questo????? Non ti sembra un codice un po' complesso!!!!


Analizziamolo passo dopo passo in modo da sapere cosa sta succedendo e puoi applicare una logica simile per leggere un tuo file .csv o html o di testo .

Qui ho creato una funzione load_csv che prende come argomento il percorso del file che vuoi leggere.

Ho un elenco denominato come dati che conterrà i miei dati del file CSV e un altro elenco col che avrà i nomi delle mie colonne. Ora dopo aver ispezionato manualmente il csv, so che i nomi delle mie colonne sono nella prima riga, quindi nella mia prima iterazione, devo archiviare i dati della prima riga in col e il resto dei dati in rows .

Per controllare la prima iterazione, ho usato una variabile booleana denominata checkcol che è False, e quando è falsa nella prima iterazione, memorizza i dati della prima riga in col e quindi imposta checkcol su True, quindi lo faremo gestire l'elenco dei dati e memorizzare il resto dei valori nell'elenco dei dati .

Logica per leggere un file con Python con Funzione manuale

La logica principale qui è che ho ripetuto il file, usando readlines() una funzione in Python. Questa funzione restituisce un elenco che contiene tutte le righe all'interno di un file.

Durante la lettura dei titoli, rileva una nuova riga come \n carattere, che è il carattere di terminazione della riga, quindi per rimuoverlo, ho usato la funzione str.replace .

Poiché è un file .csv , quindi devo separare le cose in base a virgole , quindi dividerò la stringa su a , usando string.split(',') . Per la prima iterazione, memorizzerò la prima riga, che contiene i nomi delle colonne in un elenco noto come col . E poi aggiungerò tutti i miei dati nel mio elenco noto come dati .

Per leggere i dati in modo più bello, l'ho restituito come formato dataframe perché è più facile leggere un dataframe rispetto a un array numpy o all'elenco di Python.


Pro e contro di leggere un file con Python con Funzione manuale

Il vantaggio importante è che hai tutta la flessibilità e il controllo sulla struttura del file e puoi leggere in qualsiasi formato e modo desideri e archiviarlo.

Puoi anche leggere i file che non hanno una struttura standard usando la tua logica.

Svantaggi importanti sono che è complesso da scrivere soprattutto per i tipi standard di file perché possono essere letti facilmente. Devi codificare la logica che richiede tentativi ed errori.

Dovresti usarlo solo quando il file non è in un formato standard o vuoi flessibilità e leggere il file in un modo che non è disponibile attraverso le librerie.



 


Modi di leggere un file con Python 2. Funzione Numpy.loadtxt

Questa è una funzione incorporata in Numpy, una famosa libreria numerica in Python. È una funzione davvero semplice per caricare i dati. È molto utile per leggere dati dello stesso tipo di dati.


Quando i dati sono più complessi, è difficile leggerli usando questa funzione, ma quando i file sono facili e semplici, questa funzione è davvero potente.

Passiamo al codice.

df = np.loadtxt('convertcsv.csv', delimitator = ',')

Qui abbiamo semplicemente usato la funzione loadtxt passata in delimitatore come ',' perché questo è un file CSV.

Ora se stampiamo df , vedremo i nostri dati in array numpy abbastanza decenti che sono pronti per l'uso.


Pro e contro di leggere un file con Python con Numpy.loadtxt

Un aspetto importante dell'utilizzo di questa funzione è che è possibile caricare rapidamente i dati da un file in array numpy.


Gli svantaggi sono che non puoi avere tipi di dati diversi o righe mancanti nei tuoi dati.

 

Modi di leggere un file con Python 3. Numpy.genfromtxt()

Useremo il set di dati, che è '100 Sales Records.csv' che abbiamo usato nel nostro primo esempio per dimostrare che possiamo avere più tipi di dati in esso.

Passiamo al codice.

data = np.genfromtxt('100 Sales Records.csv', delimitator=',')

Nel caso in cui questa riga di codice non legga in modo corretto i tuoi dati, prova a sostituirla con questa



data = np.genfromtxt('100 Sales Records.csv', delimitator=',', dtype=None, names=True, encoding='utf-8')


Pro e contro di leggere un file con Python con Numpy.genfromtxt()

Un aspetto importante dell'utilizzo di questa funzione è che è possibile caricare rapidamente i dati da un file in array numpy.


Gli svantaggi sono che non puoi avere tipi di dati diversi o righe mancanti nei tuoi dati.


 

Modi di leggere un file con Python 4. Pandas.read_csv()

Pandas è una libreria di manipolazione dei dati molto popolare ed è molto comunemente usata. Una delle sue funzioni molto importanti e mature è read_csv() che può leggere qualsiasi file .csv molto facilmente e aiutarci a manipolarlo. Facciamolo sul nostro set di dati di 100 record di vendita.


Questa funzione è molto popolare per la sua facilità d'uso. Puoi confrontarlo con i nostri codici precedenti e puoi verificarlo.


>>> pdDf = pd.read_csv('100 Sales Record.csv') 
>>> pdDf.head()

E indovina cosa? Con questo abbiamo già finito è davvero semplice e facile da usare. Puoi esplorare tutti gli altri parametri nei documenti ufficiali qui .




 

Modi di leggere un file con Python 5. Pickle

Quando i tuoi dati non sono in un buon formato leggibile, puoi usare pickle per salvarli in un formato binario. Quindi puoi ricaricarlo facilmente usando la libreria pickle.

Prenderemo il nostro file CSV di 100 record di vendita e prima lo salveremo in un formato pickle in modo da poterlo leggere.


with open('test.pkl','wb') as f:
      pickle.dump(pdDf, f)


Questo creerà un nuovo file test.pkl che ha al suo interno il nostro pdDf dall'intestazione Pandas .

Ora per aprirlo usando pickle, dobbiamo solo usare la funzione pickle.load .


with open('test.pkl','rb') as f:
      d4 = pickle.load(f)  

d4.head()

E qui abbiamo caricato con successo i dati da un file pickle in formato pandas.DataFrame .

Ora sei a conoscenza di 5 modi diversi per caricare i file di dati in Python, che possono aiutarti in diversi modi a caricare un set di dati quando lavori nei tuoi progetti quotidiani.


PCR (5).gif
PCR (4).gif
PCR.gif
PCR.gif
PCR.gif
PCR.gif
PCR (5).gif
3.gif
Vediamo se riesci a cliccarmi ! Nascondo una Sorpresa... (2).png

Ciao 

🤗 Articoli consigliati dalla nostra
Intelligenza Artificiale in base ai tuoi interessi

Correlazione Alta

Correlazione Media

Correlazione Bassa

Iscriviti

VUOI DIVENTARE UN MEMBRO DI INTELLIGENZA ARTIFICIALE ITALIA GRATUITAMENTE E TRARNE I SEGUENTI BENEFICI?

Corsi Gratis

più di 150 lezioni online

Dataset Gratis

più di 150o dataset

Ebook Gratis

più di 10 libri da leggere

Editor Gratis

un editor python online

Progetti Gratis

più di 25 progetti python

App Gratis

4 servizi web con I.A.

Unisciti Ora a oltre
1.000.000
di lettori e appassionanti d'I.A.

Tutto ciò che riguarda l'intelligenza Artificiale, in unico posto, in italiano e gratis.

MEGLIO DI COSI' NON SI PUO' FARE

Dopo l'iscrizione riceverai diversi Regali

VUOI SCRIVERE ARTICOLI INSIEME A NOI.

Grazie

bottom of page