Eu recomendaria a read_csv
função da pandas
biblioteca:
import pandas as pd
df=pd.read_csv('myfile.csv', sep=',',header=None)
df.values
array([[ 1. , 2. , 3. ],
[ 4. , 5.5, 6. ]])
Isso fornece um DataFrame do pandas - permitindo muitas funções úteis de manipulação de dados que não estão diretamente disponíveis com matrizes de registros numpy .
DataFrame é uma estrutura de dados rotulada bidimensional com colunas de tipos potencialmente diferentes. Você pode pensar nisso como uma planilha ou tabela SQL ...
Eu também recomendaria genfromtxt
. No entanto, como a pergunta solicita uma matriz de registros , em oposição a uma matriz normal, o dtype=None
parâmetro precisa ser adicionado à genfromtxt
chamada:
Dado um arquivo de entrada, myfile.csv
:
1.0, 2, 3
4, 5.5, 6
import numpy as np
np.genfromtxt('myfile.csv',delimiter=',')
dá uma matriz:
array([[ 1. , 2. , 3. ],
[ 4. , 5.5, 6. ]])
e
np.genfromtxt('myfile.csv',delimiter=',',dtype=None)
fornece uma matriz de registros:
array([(1.0, 2.0, 3), (4.0, 5.5, 6)],
dtype=[('f0', '<f8'), ('f1', '<f8'), ('f2', '<i4')])
Isso tem a vantagem de que arquivos com vários tipos de dados (incluindo cadeias) podem ser facilmente importados .