Мммм, лучший подход, который вы хотите использовать, может состоять в том, чтобы распространить это на 2 действия.
def index
@post = Post.all
end
def get
@post = Post.where("author=?", params[:author_id])
end
. или показать), чтобы получить запрошенный и показать его!
Если все записи в вашем файле числовые, вы можете просто использовать a = load ('file.txt')
. Он должен создать матрицу 65536x4 a
. Это даже проще, чем csvread
Самый простой способ сделать это - использовать функцию MATLAB csvread
.
Существует также этот инструмент, который читает файлы CSV.
Вы можете сделать это самостоятельно без особых трудностей: просто переберите каждую строку в файле, разделите ее на запятые и поместите в свой массив.
Вместо того, чтобы возиться с Excel, вы должны иметь возможность читать текстовый файл непосредственно в MATLAB (используя функции FOPEN , FGETL , ] FSCANF и FCLOSE ):
fid = fopen('file.dat','rt'); %# Open the data file
headerChars = fgetl(fid); %# Read the first line of characters
data = fscanf(fid,'%f,%f,%f,%f',[4 inf]).'; %'# Read the data into a
%# 65536-by-4 matrix
fclose(fid); %# Close the data file
Предлагаем вам ознакомиться с dlmread
и textcan
.
dlmread
похож на csvread
, но поскольку он может обрабатывать любой разделитель (табуляция, пробел и т. д.), я обычно использовать его, а не csvread
.
textcan
- настоящая рабочая лошадка: множество опций, + он работает с открытыми файлами и немного более надежен для обработки "плохого" ввода (например, не -числовые данные в файле).Его можно использовать как fscanf
в предложении gnovice, но я думаю, что это быстрее (хотя не цитируйте меня).