Effacer les filtres
Effacer les filtres

Matlab read table of values

2 vues (au cours des 30 derniers jours)
sudo
sudo le 14 Août 2022
Modifié(e) : sudo le 2 Sep 2022
I have a table of data. Column 1 is a building ID #. Column 2-7 are contact names. Data is entered such that the building ID# could repeat. I'm looking to pull names from column 2-7 for each building ID #. So row 1-5 maybe building 100 and row 6 and 7, are building 101. It is unknown how many rows are duplicate building #'s. In the end, i'd like to create an output for each building # that cintains all the names from column 2-7 for each row the building # was the same. Make sense?
  5 commentaires
Lei Hou
Lei Hou le 31 Août 2022
Hi Sudo,
Does the following solution solve your problem?
>> BuildingID = [100;100;100;100;100;101;101];
>> column2 = ["A";"B";"C";"D";"E";"F";"G"];
>> t = table(BuildingID, column2, column2, column2, column2, column2, column2, 'VariableNames',{'BuildingID' 'column2' 'column3' 'column4' 'column5' 'column6' 'column7'})
t =
7×7 table
BuildingID column2 column3 column4 column5 column6 column7
__________ _______ _______ _______ _______ _______ _______
100 "A" "A" "A" "A" "A" "A"
100 "B" "B" "B" "B" "B" "B"
100 "C" "C" "C" "C" "C" "C"
100 "D" "D" "D" "D" "D" "D"
100 "E" "E" "E" "E" "E" "E"
101 "F" "F" "F" "F" "F" "F"
101 "G" "G" "G" "G" "G" "G"
>> t(t.BuildingID==100,:)
ans =
5×7 table
BuildingID column2 column3 column4 column5 column6 column7
__________ _______ _______ _______ _______ _______ _______
100 "A" "A" "A" "A" "A" "A"
100 "B" "B" "B" "B" "B" "B"
100 "C" "C" "C" "C" "C" "C"
100 "D" "D" "D" "D" "D" "D"
100 "E" "E" "E" "E" "E" "E"
>> t(t.BuildingID==101,:)
ans =
2×7 table
BuildingID column2 column3 column4 column5 column6 column7
__________ _______ _______ _______ _______ _______ _______
101 "F" "F" "F" "F" "F" "F"
101 "G" "G" "G" "G" "G" "G"
sudo
sudo le 31 Août 2022
Modifié(e) : sudo le 31 Août 2022
This is close. The only other item I'm wondering about is how to handle this line t(t.BuildingID==100,:) if the building ID numbers are new/unknown. So while your solution provides the output im looking for, rather than have a "hard-coded" check of each build ID how would I automate that portion? Looping through each unique buildingID.
Thanks a bunch, I think it's close.

Connectez-vous pour commenter.

Réponses (1)

Chunru
Chunru le 31 Août 2022
Modifié(e) : Chunru le 31 Août 2022
BuildingID = [100;100;100;100;100;101;101;102];
column2 = ["A";"B";"C";"D";"E";"F";"G"; ""];
t = table(BuildingID, column2, column2, 'VariableNames',{'BuildingID' 'Name' 'column3'})
t = 8×3 table
BuildingID Name column3 __________ ____ _______ 100 "A" "A" 100 "B" "B" 100 "C" "C" 100 "D" "D" 100 "E" "E" 101 "F" "F" 101 "G" "G" 102 "" ""
t.IDName = t.BuildingID+t.Name
t = 8×4 table
BuildingID Name column3 IDName __________ ____ _______ ______ 100 "A" "A" "100A" 100 "B" "B" "100B" 100 "C" "C" "100C" 100 "D" "D" "100D" 100 "E" "E" "100E" 101 "F" "F" "101F" 101 "G" "G" "101G" 102 "" "" "102"
  1 commentaire
sudo
sudo le 2 Sep 2022
Modifié(e) : sudo le 2 Sep 2022
Thanks for reply. See comment above under @Lei Hou response.

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by