Effacer les filtres
Effacer les filtres

Horizontal concatenate in UItable table

1 vue (au cours des 30 derniers jours)
chizom wornu
chizom wornu le 13 Jan 2022
Commenté : chizom wornu le 15 Jan 2022
Hello, I have a code that uploads excel data into UItable. I want to concatenate the rows of the table however, some of the output are special charaters. Please how do i get it right. Below is my code and the results.
Table Data
Output Data
This is my code
oldData = get(GUI.RetailerStockList,'Data')
for i=1:size(oldData,1)
oldData(i)={horzcat(oldData{i,:})};
end
oldData(:,2:size(oldData,2))=[]

Réponse acceptée

Walter Roberson
Walter Roberson le 13 Jan 2022
oldData(i)={horzcat(oldData{i,:})};
Let us look at what that is being asked to do for i == 1:
oldData(1,:) = {'bacon rashers', 250, 'g', 738120, 'Use By', 0}
You horzcat() those, so you are asking for
['bacon rashers', 250, 'g', 738120, 'Use By', 0]
What is the rule when concatenating character vectors and numeric values?
TYPE | character | integer | single | double | logical
character | character | character | character | character | invalid
So when you [] together a character vector and a numeric value, the result is a character vector. This is not accomplished by formatting the number as text: this is accomplished by taking char() of the numeric value, looking up the underlying character codes as characters .
So the above line is equivalent to
['bacon rashers', char(250), 'g', char(738120), 'Use By', char(0)]
You should consider switching:
C = {"bacon rashers", 250, "g", 738120, "Use By", 0}
strjoin(string(C), ' ')
  1 commentaire
chizom wornu
chizom wornu le 15 Jan 2022
This really helped me solve the problem thank you.

Connectez-vous pour commenter.

Plus de réponses (1)

Voss
Voss le 14 Jan 2022
c = readcell('input.xlsx');
c(1,:) = [];
idx = ~cellfun(@ischar,c);
c(idx) = cellfun(@num2str,c(idx),'UniformOutput',false)
c = 22×6 cell array
{'bacon rashers' } {'250'} {'g' } {'738120'} {'Use By' } {'0' } {'black pepper' } {'20' } {'g' } {'738319'} {'Best Before' } {'10'} {'chicken breast'} {'200'} {'g' } {'738113'} {'Use By' } {'0' } {'chicken thigh' } {'150'} {''g'' } {'738114'} {''Use By'' } {'0' } {'egg' } {'12' } {''units''} {'738120'} {''Use By'' } {'0' } {'flour' } {'500'} {''g'' } {'738342'} {''Best Before''} {'3' } {''garlic'' } {'50' } {''g'' } {'738132'} {''Use By'' } {'0' } {''honey'' } {'200'} {''g'' } {'738369'} {''Best Before''} {'5' } {''ketchup'' } {'50' } {''g'' } {'738324'} {''Best Before''} {'5' } {''mayonnaise'' } {'80' } {''g'' } {'738142'} {''Best Before''} {'4' } {''milk'' } {'300'} {''ml'' } {'738231'} {''Best Before''} {'3' } {''mushroom'' } {'100'} {''g'' } {'738112'} {''Use By'' } {'0' } {''onion'' } {'250'} {''g'' } {'738116'} {''Best Before''} {'3' } {''parmesan'' } {'50' } {''g'' } {'738115'} {''Best Before''} {'6' } {''pasta'' } {'250'} {''g'' } {'738160'} {''Best Before''} {'3' } {''pork chop'' } {'300'} {''g'' } {'738115'} {''Use By'' } {'0' } {''potato'' } {'200'} {''g'' } {'738126'} {''Use By'' } {'0' } {''salmon'' } {'300'} {''g'' } {'738116'} {''Best Before''} {'4' } {''salt'' } {'100'} {''g'' } {'738669'} {''Best Before''} {'10'} {''shrimp'' } {'200'} {''g'' } {'738114'} {''Use By'' } {'0' } {''soy sauce'' } {'500'} {''ml'' } {'738627'} {''Best Before''} {'5' } {''tomato'' } {'40' } {''g'' } {'738118'} {''Use By'' } {'0' }
c_new = cell(size(c,1),1);
for i = 1:size(c,2)
c_new = strcat(c_new,c(:,i),{' '});
end
display(c_new);
c_new = 22×1 cell array
{'bacon rashers 250 g 738120 Use By 0 ' } {'black pepper 20 g 738319 Best Before 10 ' } {'chicken breast 200 g 738113 Use By 0 ' } {'chicken thigh 150 'g' 738114 'Use By' 0 ' } {'egg 12 'units' 738120 'Use By' 0 ' } {'flour 500 'g' 738342 'Best Before' 3 ' } {''garlic' 50 'g' 738132 'Use By' 0 ' } {''honey' 200 'g' 738369 'Best Before' 5 ' } {''ketchup' 50 'g' 738324 'Best Before' 5 ' } {''mayonnaise' 80 'g' 738142 'Best Before' 4 ' } {''milk' 300 'ml' 738231 'Best Before' 3 ' } {''mushroom' 100 'g' 738112 'Use By' 0 ' } {''onion' 250 'g' 738116 'Best Before' 3 ' } {''parmesan' 50 'g' 738115 'Best Before' 6 ' } {''pasta' 250 'g' 738160 'Best Before' 3 ' } {''pork chop' 300 'g' 738115 'Use By' 0 ' } {''potato' 200 'g' 738126 'Use By' 0 ' } {''salmon' 300 'g' 738116 'Best Before' 4 ' } {''salt' 100 'g' 738669 'Best Before' 10 ' } {''shrimp' 200 'g' 738114 'Use By' 0 ' } {''soy sauce' 500 'ml' 738627 'Best Before' 5 '} {''tomato' 40 'g' 738118 'Use By' 0 ' }

Catégories

En savoir plus sur Oceanography and Hydrology dans Help Center et File Exchange

Produits


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by