Carica i dati dal file di testo in Pandas
-
Metodo
read_csv()per caricare i dati da un file di testo -
Metodo
read_fwf()per caricare file di testo in formato larghezza su PandasDataFrame -
Metodo
read_table()per caricare il file di testo su PandasDataFrame
Introdurremo i metodi per caricare i dati da un file txt con Pandas DataFrame. Esamineremo anche le opzioni disponibili.
Per prima cosa, creeremo un semplice file di testo chiamato sample.txt e aggiungeremo le seguenti righe al file:
45 apple orange banana mango
12 orange kiwi onion tomato
Dobbiamo salvarlo nella stessa directory da cui verrà eseguito lo script Python.
Metodo read_csv() per caricare i dati da un file di testo
read_csv() è il modo migliore per convertire il file text in Pandas DataFrame. Dobbiamo impostare header=None poiché non abbiamo alcun header nel file creato sopra. Possiamo anche impostare keep_default_na=False all’interno del metodo se vogliamo sostituire i valori vuoti con NaN.
Codici di esempio:
# python 3.x
import pandas as pd
df = pd.read_csv("sample.txt", sep=" ", header=None)
print(df)
Produzione:
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi onion tomato
Abbiamo impostato sep=" " perché un singolo spazio bianco separa i valori. Allo stesso modo, possiamo impostare sep="," se leggiamo i dati da un file separato da virgole. Sostituisci gli spazi bianchi all’interno di sample.txt con , e poi esegui il codice dopo aver sostituito sep=" " con sep=",".
Sample.txt
45,apple,orange,banana,mango
12,orange,kiwi,,tomato
Codice:
# python 3.x
import pandas as pd
df = pd.read_csv("sample.txt", sep=",", header=None)
print(df)
Produzione:
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi NaN tomato
Metodo read_fwf() per caricare file di testo in formato larghezza su Pandas DataFrame
read_fwf() è molto utile per caricare un file di testo formattato in larghezza. Non possiamo usare sep perché valori diversi possono avere delimitatori diversi. Considera il seguente file di testo:
Sample.txt
45 apple orange banana mango
12 orange kiwi onion tomato
In Sample.text, delimiter non è lo stesso per tutti i valori. Quindi read_fwf() farà il lavoro qui.
Codice:
# python 3.x
import pandas as pd
df = pd.read_fwf("sample.txt", header=None)
print(df)
Produzione:
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi onion tomato
Metodo read_table() per caricare il file di testo su Pandas DataFrame
read_table() è un altro approccio per caricare i dati dal file text al DataFrame di Pandas.
Sample.txt:
45 apple orange banana mango
12 orange kiwi onion tomato
Codice:
# python 3.x
import pandas as pd
df = pd.read_table("sample.txt", header=None, sep=" ")
print(df)
Produzione:
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi onion tomato