Я рекомендую read_csv
функцію з pandas
бібліотеки:
import pandas as pd
df=pd.read_csv('myfile.csv', sep=',',header=None)
df.values
array([[ 1. , 2. , 3. ],
[ 4. , 5.5, 6. ]])
Це дає панди DataFrame - дозволяє безліч корисних функцій маніпулювання даними, які безпосередньо не доступні з масивними записами numpy .
DataFrame - це двовимірна структура даних з міткою зі стовпцями потенційно різних типів. Ви можете думати про це як електронну таблицю або таблицю SQL ...
Я також рекомендував би genfromtxt
. Однак, оскільки питання запитує масив записів , на відміну від звичайного масиву, dtype=None
параметр потрібно додати до genfromtxt
виклику:
З огляду на вхідний файл myfile.csv
:
1.0, 2, 3
4, 5.5, 6
import numpy as np
np.genfromtxt('myfile.csv',delimiter=',')
дає масив:
array([[ 1. , 2. , 3. ],
[ 4. , 5.5, 6. ]])
і
np.genfromtxt('myfile.csv',delimiter=',',dtype=None)
дає масив записів:
array([(1.0, 2.0, 3), (4.0, 5.5, 6)],
dtype=[('f0', '<f8'), ('f1', '<f8'), ('f2', '<i4')])
Це має перевагу в тому, що файл з декількома типами даних (включаючи рядки) можна легко імпортувати .