Add Unique Double Values to a Column in Mulitple Table

5 ビュー (過去 30 日間)
Amadi Gabriel Udu
Amadi Gabriel Udu 2021 年 3 月 23 日
コメント済み: Amadi Gabriel Udu 2021 年 3 月 23 日
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 件のコメント
Walter Roberson
Walter Roberson 2021 年 3 月 23 日
dataAll.PatientNumber = cumsum(dataAll.Time == 0);
Amadi Gabriel Udu
Amadi Gabriel Udu 2021 年 3 月 23 日
Works like magic!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeTables についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by