Ich würde die read_csv
Funktion aus der pandas
Bibliothek empfehlen :
import pandas as pd
df=pd.read_csv('myfile.csv', sep=',',header=None)
df.values
array([[ 1. , 2. , 3. ],
[ 4. , 5.5, 6. ]])
Dies ergibt einen Pandas DataFrame , der viele nützliche Datenmanipulationsfunktionen ermöglicht, die mit Numpy-Record-Arrays nicht direkt verfügbar sind .
DataFrame ist eine zweidimensional beschriftete Datenstruktur mit Spalten potenziell unterschiedlicher Typen. Sie können sich das wie eine Tabelle oder eine SQL-Tabelle vorstellen ...
Ich würde es auch empfehlen genfromtxt
. Da die Frage jedoch nach einem Datensatzarray im Gegensatz zu einem normalen Array fragt , muss der dtype=None
Parameter dem genfromtxt
Aufruf hinzugefügt werden :
Bei einer Eingabedatei myfile.csv
:
1.0, 2, 3
4, 5.5, 6
import numpy as np
np.genfromtxt('myfile.csv',delimiter=',')
gibt ein Array:
array([[ 1. , 2. , 3. ],
[ 4. , 5.5, 6. ]])
und
np.genfromtxt('myfile.csv',delimiter=',',dtype=None)
gibt ein Datensatzarray an:
array([(1.0, 2.0, 3), (4.0, 5.5, 6)],
dtype=[('f0', '<f8'), ('f1', '<f8'), ('f2', '<i4')])
Dies hat den Vorteil, dass Dateien mit mehreren Datentypen (einschließlich Zeichenfolgen) problemlos importiert werden können .