Come leggere un file csv da una stringa in pandas dataframe
È possibile utilizzare la seguente sintassi di base per leggere un file CSV da una stringa in un DataFrame panda:
import pandas as pd import io df = pd. read_csv ( io.StringIO (some_string), sep=" , ")
Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.
Esempio 1: leggere un file CSV da una stringa con virgole come separatori
Il codice seguente mostra come leggere un file CSV da una stringa (con virgole come separatori) in un DataFrame panda:
import pandas as pd import io some_string="""team,points,rebounds A,22,10 B,14.9 C,29.6 D,30.2 E,22.9 F,31.10""" #read CSV string into pandas DataFrame df = pd. read_csv ( io.StringIO (some_string), sep=" , ") #view resulting DataFrame print (df) team points rebounds 0 to 22 10 1 B 14 9 2 C 29 6 3 D 30 2 4 E 22 9 5 F 31 10
Il DataFrame panda risultante contiene i valori della stringa CSV.
Esempio 2: leggere un file CSV da una stringa con un punto e virgola come separatore
Il codice seguente mostra come leggere un file CSV da una stringa (con punto e virgola come separatori) in un DataFrame panda:
import pandas as pd import io some_string="""team;points;rebounds A;22;10 B;14;9 C;29;6 D;30;2 E;22;9 F;31;10""" #read CSV string into pandas DataFrame df = pd. read_csv ( io.StringIO (some_string), sep=" ; ") #view resulting DataFrame print (df) team points rebounds 0 to 22 10 1 B 14 9 2 C 29 6 3 D 30 2 4 E 22 9 5 F 31 10
Il DataFrame panda risultante contiene i valori della stringa CSV.
Esempio 3: leggere un file CSV da una stringa senza intestazione
Il codice seguente mostra come leggere un file CSV da una stringa (senza una riga di intestazione) in un DataFrame panda:
import pandas as pd import io some_string="""A;22;10 B;14;9 C;29;6 D;30;2 E;22;9 F;31;10""" #read CSV string into pandas DataFrame df = pd. read_csv (io. StringIO (some_string), sep=" ; ", header= None ) #view resulting DataFrame print (df) 0 1 2 0 to 22 10 1 B 14 9 2 C 29 6 3 D 30 2 4 E 22 9 5 F 31 10
Utilizzando l’argomento header=None , abbiamo detto ai panda di non utilizzare la prima riga come riga di intestazione.
Per impostazione predefinita, panda utilizza un intervallo di valori numerici (0, 1, 2) come nomi di colonna per DataFrame.
Nota : puoi trovare la documentazione completa della funzione panda read_csv() qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in Python:
Panda: come saltare le righe durante la lettura di un file CSV
Panda: come aggiungere dati a un file CSV esistente
Panda: come leggere un file CSV senza intestazione
Panda: imposta i nomi delle colonne durante l’importazione di un file CSV