Add Unique Double Values to a Column in Mulitple Table

2 次查看(过去 30 天)
I have imported multiple tables into my matlab environment.
I have added a new column, 'PatientNumber' to the table
RIght now, they all have 'ones'.
How do I give each of my new column a unique identifier in each table?
For instance, PatientNumber column in Table 1 should have 'ones',
PatientNumber column in Table 2 should have 'twos'
Patient Number column in Table 3 should have '3' in all the rows and so on.
%enter the file names with wildcard * for all
filenames = 'Patient_Details*';
files = [pwd '\Data\' filenames '.csv']
%set up the data store
ds = datastore(files,'TreatAsMissing', 'NA', 'Delimiter',',',...
'ReadVariableNames', true, 'ReadSize', 'file');
%read all the data from the datastore
dataAll = readall(ds);
nrow = size(dataAll,1);
dataAll.PatientNumber = ones(nrow, 1);
for i = dataAll.PatentNumber
dataAll.PatientNumber=i.*ones(nrow,1)
i+1
end

采纳的回答

Walter Roberson
Walter Roberson 2021-3-23
When you use readall() on a TabularText datastore (which is what is generated for .csv files by default), then all of the data is read into a single table() or timetable() object, with no boundaries between the entries.
You will need to switch from readall() to read(), but also configure the datastore with 'ReadSize', 'file' so that it reads a file at a time. You would then add the appropriate label information and store the content, combining all the content after you have reached the last file.
  4 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Tables 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by