Vorrei raccomandare la read_csv
funzione dalla pandas
libreria:
import pandas as pd
df=pd.read_csv('myfile.csv', sep=',',header=None)
df.values
array([[ 1. , 2. , 3. ],
[ 4. , 5.5, 6. ]])
Questo dà un DataFrame di Panda - che consente molte utili funzioni di manipolazione dei dati che non sono direttamente disponibili con array di record intorpiditi .
DataFrame è una struttura di dati con etichetta bidimensionale con colonne di tipi potenzialmente diversi. Puoi pensarlo come un foglio di calcolo o una tabella SQL ...
Vorrei anche raccomandare genfromtxt
. Tuttavia, poiché la domanda richiede un array di record , al contrario di un array normale, il dtype=None
parametro deve essere aggiunto alla genfromtxt
chiamata:
Dato un file di input, myfile.csv
:
1.0, 2, 3
4, 5.5, 6
import numpy as np
np.genfromtxt('myfile.csv',delimiter=',')
dà un array:
array([[ 1. , 2. , 3. ],
[ 4. , 5.5, 6. ]])
e
np.genfromtxt('myfile.csv',delimiter=',',dtype=None)
fornisce un array di record:
array([(1.0, 2.0, 3), (4.0, 5.5, 6)],
dtype=[('f0', '<f8'), ('f1', '<f8'), ('f2', '<i4')])
Ciò ha il vantaggio di poter importare facilmente file con più tipi di dati (comprese le stringhe) .