How can I match multiple contents of an array to a separate single array?
2 views (last 30 days)
Show older comments
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 Comments
Answers (2)
John BG
on 26 Apr 2016
Edited: John BG
on 26 Apr 2016
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 Comments
See Also
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!