Я бы рекомендовал использовать 'loadtxt', который фактически находится в библиотеке NumPy. В Matplotlib (csv2rec) есть связанные функции, но Matplotlib фактически стандартизирует loadtxt.
Вот как это работает:
from matplotlib import pyplot as PLT
with open('name_of_your_file.csv') as f:
v = NP.loadtxt(f, delimiter=",", dtype='float', comments="#", skiprows=1, usecols=None)
'v', объект, возвращаемый из 'loadtxt', представляет собой массив NumPy м п х.
«loadtxt» принимает файл или файловый дескриптор. В приведенном выше экземпляре имеется большая часть подписи метода. «skiprows» - это целое число, определяющее количество строк, считанных сверху, которое вы хотите пропустить; обычно устанавливается значение «1», чтобы пропустить строку заголовка; «usecols» начинается с «0» и представляет собой список, в котором перечислены столбцы, которые вы хотите включить («None» является значением по умолчанию, и означает «include all»). Остальные параметры работают так, как ожидалось.
Для построения гистограммы из этих данных:
from matplotlib import pyplot as PLT
v_hist = NP.ravel(v) # 'flatten' v
fig = PLT.figure()
ax1 = fig.add_subplot(111)
n, bins, patches = ax1.hist(v_hist, bins=50, normed=1, facecolor='green')
PLT.show()
@doug: Many Thanks – Arkapravo
вы всегда должны использовать 'genfromtxt' вместо loadtxt, особенно при работе с большими файлами, так как он имеет одинаковые по умолчанию, но может быть в 20 раз быстрее. –