Azzera filtri
Azzera filtri

Matlab read table of values

2 visualizzazioni (ultimi 30 giorni)
sudo
sudo il 14 Ago 2022
Modificato: sudo il 2 Set 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 Commenti
Lei Hou
Lei Hou il 31 Ago 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 il 31 Ago 2022
Modificato: sudo il 31 Ago 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.

Accedi per commentare.

Risposte (1)

Chunru
Chunru il 31 Ago 2022
Modificato: Chunru il 31 Ago 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 Commento
sudo
sudo il 2 Set 2022
Modificato: sudo il 2 Set 2022
Thanks for reply. See comment above under @Lei Hou response.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by