Effacer les filtres
Effacer les filtres

Loading in a table that has multiple values in a single cell seperated by a comma

3 vues (au cours des 30 derniers jours)
User
User le 17 Oct 2023
Does matlab have an issue when you load in data from a csv file and multiple cells in your file contain more than one value which are seperated by a comma? I am trying to match to columns together from two different csv files that have the same data type but I am getting the issue of "
Error using tabular/ismember
A and B must contain the same variables.'
Is this because some of my cells in one of my csv contain multiple values and matlab is not able to recognize each one of them?

Réponses (1)

Walter Roberson
Walter Roberson le 17 Oct 2023
You are trying to use ismember() to compare two tables directly. ismember() only permits that if all of the same variables occur in each table
Perhaps join would be appropriate for your purpose?
  2 commentaires
User
User le 26 Oct 2023
How would I use the join function for this sample data set where I want to use example 2 xlsx and compare it to column 2 of example 1 file. If there is a match I would like it to read its respective value in column 1. Do i have to create a for loop to do this for each sample?
Walter Roberson
Walter Roberson le 26 Oct 2023
Modifié(e) : Walter Roberson le 26 Oct 2023
Do not ismember entire tables -- select variables from the table.
filename1 = 'example1.xlsx';
filename2 = 'example2.xlsx';
T1 = readtable(filename1, 'VariableNamingRule', 'preserve');
T2 = readtable(filename2, 'VariableNamingRule', 'preserve');
[found, idx] = ismember(T2.('last name'), T1.('last name'));
T1.('first name')(idx(found))
ans = 1×1 cell array
{'ben'}
innerjoin(T1, T2)
ans = 1×2 table
first name last name __________ _________ {'ben'} {'smith'}

Connectez-vous pour commenter.

Catégories

En savoir plus sur Tables dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by