ローカルドライブにyoue csvファイルをダウンロードしました。コードを実行し、ダイアログボックスを使用してcsvファイルを選択します。
clear
clc
[file_name, mach_path] = uigetfile(...
{'*.csv', 'All CSV (*.csv)'}, ...
'Select File');
% If "Cancel" is selected then return
if isequal([file_name,mach_path],[0,0])
return
% Otherwise construct the fullfilename and Check and load the file
else
fileName = fullfile(mach_path,file_name);
end
fid = fopen(fileName,'r'); %# Open the file
lineArray = cell(100,1); %# Preallocate a cell array (ideally slightly
%# larger than is needed)
lineIndex = 1; %# Index of cell to place the next line in
nextLine = fgetl(fid); %# Read the first line from the file
while ~isequal(nextLine,-1) %# Loop while not at the end of the file
lineArray{lineIndex} = nextLine; %# Add the line to the cell array
lineIndex = lineIndex+1; %# Increment the line index
nextLine = fgetl(fid); %# Read the next line from the file
end
fclose(fid); %# Close the file
lineArray = lineArray(1:lineIndex-1); %# Remove empty cells, if needed
for iLine = 1:lineIndex-1 %# Loop over lines
lineData = textscan(lineArray{iLine},'%s',... %# Read strings
'Delimiter',',');
lineData = lineData{1}; %# Remove cell encapsulation
if strcmp(lineArray{iLine}(end),',') %# Account for when the line
lineData{end+1} = ''; %# ends with a delimiter
end
lineArray(iLine,1:numel(lineData)) = lineData; %# Overwrite line data
end
A = lineArray;
uniqueVals = unique(A(:,1));
[cc ~] = size(uniqueVals);
for i=1:cc
[mm ~]= size(find(ismember(A(:,1),uniqueVals(i))));
if mm>1
second = find(ismember(A(:,1),uniqueVals(i)));
disp('same value detected in rows: ')
disp(second(2));
A(second(2),:) = [];
disp(A);
end
end
私はこれを動作させることはできません。 列内の同じ値を検出せず、それを削除してエラーメッセージを表示します – Ryan
私にエラーメッセージを送ってください。 – Javidan
私はproporlyそれを記述する方法がわからない、それはめちゃくちゃされませんので VAR1 VAR2 VAR3 VAR4 VAR5 Var6 'S123456' 'Bnは' 7 2 10 12 'S163765' 'アヤン' 7 10 10 12 'S185216 'Jyan 4' 2 -3 12 ' S854789 'ギャン' 7 2 7 7 'S325874 'Zyan' 7 2 10 2 ' S963256 'Byan' 12 2 10 12 'S123456' '名前 '7 2 4 4 ' S214789 '' Hyan '10 7 10 12 – Ryan