How can I match multiple contents of an array to a separate single array?
2 次查看(过去 30 天)
显示 更早的评论
I have a .csv file where multiple postcodes (characters and numbers) correspond to a unique ID number (also characters and numbers).
e.g
- BS2 9TL, E00073143
- BS2 9TB, E00073143
- BS2 9XJ, E00073143
- BS2 8AT, E00073144
- BS2 8TY, E00073144
- BS2 8UA, E00073144
- BS2 8UG, E00073144
I need to create a new array for each unique ID number that stores the respective postcodes. The amount of postcodes for each ID number is not the same every time.
The file contains 9010 postcodes and 1258 ID numbers.
Can anyone show me how to go about doing this?
Many thanks!
0 个评论
回答(2 个)
John BG
2016-4-26
编辑:John BG
2016-4-26
If you really have postcodes along a .csv spreadsheet row, and the codes along another row, then you can do the following:
[a postcode]=xlsread('postcodes1.csv',1,'A1:A7')
[a bcode]=xlsread('postcodes1.csv',1,'B1:B7')
postcode=strtrim(postcode)
bcode=strtrim(bcode)
L_postcode=length(postcode)
[D,di,dj]=unique(bcode)
L_bcode=length(D)
for k=1:L_bcode
D{k}=[D{k} postcode(find(dj==k))']
end
Now you have all basic unique codes on the first row of the cell D.
the second and consecutive elements in each line (row) of D are all post codes with same basic code.
Further processing could be:
for k=1:L_bcode
str1=D{k,:}
% str1(k,1) contains one basic unique code
% str1(k,2) str1(k,2) .. str1(k,end) contains all the post codes
% with same basic code in str1(k,1)
end
If you find this answer of any help solving your question,
please click on the thumbs-up vote link,
thanks in advance
John
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!