Hi,how do I merge .txt file date and time column?

2 ビュー (過去 30 日間)
kolberg
kolberg 2022 年 12 月 21 日
コメント済み: Star Strider 2022 年 12 月 22 日
Hi,Need to merge date and time columns in one.Thank you!

採用された回答

Star Strider
Star Strider 2022 年 12 月 21 日
Try something like this —
T1 = readtable('https://www.mathworks.com/matlabcentral/answers/uploaded_files/1238782/IMM2211.txt', 'VariableNamingRule','preserve')
T1 = 2880×18 table
Contributor: National Oceanography Centre, Liverpool Var6 Var7 Var8 Var9 Var10 Var11 Var12 Var13 Var14 Var15 Var16 Var17 Var18 ____________ ______________ ____________ _______ _________ ____ ____ ____ ____ _____ _____ _____ _____ _____ _____ _____ _____ _____ {'1)' } {'2022/11/01'} 00:00:00 5.616 0.293 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'2)' } {'2022/11/01'} 00:15:00 5.381 0.267 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'3)' } {'2022/11/01'} 00:30:00 5.13 0.243 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'4)' } {'2022/11/01'} 00:45:00 4.876 0.229 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'5)' } {'2022/11/01'} 01:00:00 4.61 0.215 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'6)' } {'2022/11/01'} 01:15:00 4.345 0.207 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'7)' } {'2022/11/01'} 01:30:00 4.093 0.212 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'8)' } {'2022/11/01'} 01:45:00 3.86 0.229 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'9)' } {'2022/11/01'} 02:00:00 3.637 0.244 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'10)'} {'2022/11/01'} 02:15:00 3.426 0.255 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'11)'} {'2022/11/01'} 02:30:00 3.227 0.259 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'12)'} {'2022/11/01'} 02:45:00 3.039 0.253 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'13)'} {'2022/11/01'} 03:00:00 2.867 0.242 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'14)'} {'2022/11/01'} 03:15:00 2.727 0.24 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'15)'} {'2022/11/01'} 03:30:00 2.622 0.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'16)'} {'2022/11/01'} 03:45:00 2.535 0.256 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
DateTime = datetime(T1.National, 'InputFormat','yyyy/MM/dd') + timeofday(datetime(string(T1.Oceanography)));
T1 = addvars(T1, DateTime, 'Before',2)
T1 = 2880×19 table
Contributor: DateTime National Oceanography Centre, Liverpool Var6 Var7 Var8 Var9 Var10 Var11 Var12 Var13 Var14 Var15 Var16 Var17 Var18 ____________ ____________________ ______________ ____________ _______ _________ ____ ____ ____ ____ _____ _____ _____ _____ _____ _____ _____ _____ _____ {'1)' } 01-Nov-2022 00:00:00 {'2022/11/01'} 00:00:00 5.616 0.293 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'2)' } 01-Nov-2022 00:15:00 {'2022/11/01'} 00:15:00 5.381 0.267 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'3)' } 01-Nov-2022 00:30:00 {'2022/11/01'} 00:30:00 5.13 0.243 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'4)' } 01-Nov-2022 00:45:00 {'2022/11/01'} 00:45:00 4.876 0.229 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'5)' } 01-Nov-2022 01:00:00 {'2022/11/01'} 01:00:00 4.61 0.215 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'6)' } 01-Nov-2022 01:15:00 {'2022/11/01'} 01:15:00 4.345 0.207 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'7)' } 01-Nov-2022 01:30:00 {'2022/11/01'} 01:30:00 4.093 0.212 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'8)' } 01-Nov-2022 01:45:00 {'2022/11/01'} 01:45:00 3.86 0.229 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'9)' } 01-Nov-2022 02:00:00 {'2022/11/01'} 02:00:00 3.637 0.244 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'10)'} 01-Nov-2022 02:15:00 {'2022/11/01'} 02:15:00 3.426 0.255 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'11)'} 01-Nov-2022 02:30:00 {'2022/11/01'} 02:30:00 3.227 0.259 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'12)'} 01-Nov-2022 02:45:00 {'2022/11/01'} 02:45:00 3.039 0.253 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'13)'} 01-Nov-2022 03:00:00 {'2022/11/01'} 03:00:00 2.867 0.242 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'14)'} 01-Nov-2022 03:15:00 {'2022/11/01'} 03:15:00 2.727 0.24 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'15)'} 01-Nov-2022 03:30:00 {'2022/11/01'} 03:30:00 2.622 0.25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {'16)'} 01-Nov-2022 03:45:00 {'2022/11/01'} 03:45:00 2.535 0.256 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
It creates a new variable called ‘DateTime’ and then inserts it as the second variable.
.
  7 件のコメント
kolberg
kolberg 2022 年 12 月 22 日
Thanks again!Where do I start to get more familiar with Matlab?
Star Strider
Star Strider 2022 年 12 月 22 日
@kolberg — My recommendation would be to watch MATLAB Answers, and read the posts that you find most interesting, and relevant to your own projects.

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

その他の回答 (1 件)

Stephen23
Stephen23 2022 年 12 月 22 日
編集済み: Stephen23 2022 年 12 月 22 日
This is easy and more efficient using the READTABLE() options:
fnm = 'IMM2211.txt';
obj = detectImportOptions(fnm, 'NumVariables',5,...
'Delimiter',{' ','M',')'}, 'MultipleDelimsAsOne',true,...
'LeadingDelimitersRule','ignore', 'TrailingDelimitersRule','ignore',...
'VariableNamesLine',10, 'VariableUnitsLine',11);
obj = setvartype(obj,'Time','duration');
obj = setvartype(obj,'Date','datetime');
obj = setvaropts(obj,'Date','InputFormat','y/M/d');
tbl = readtable(fnm,obj)
tbl = 2880×5 table
Cycle Date Time ASLVBG02 Residual _____ _________ ________ ________ ________ 1 2022/11/1 00:00:00 5.616 0.293 2 2022/11/1 00:15:00 5.381 0.267 3 2022/11/1 00:30:00 5.13 0.243 4 2022/11/1 00:45:00 4.876 0.229 5 2022/11/1 01:00:00 4.61 0.215 6 2022/11/1 01:15:00 4.345 0.207 7 2022/11/1 01:30:00 4.093 0.212 8 2022/11/1 01:45:00 3.86 0.229 9 2022/11/1 02:00:00 3.637 0.244 10 2022/11/1 02:15:00 3.426 0.255 11 2022/11/1 02:30:00 3.227 0.259 12 2022/11/1 02:45:00 3.039 0.253 13 2022/11/1 03:00:00 2.867 0.242 14 2022/11/1 03:15:00 2.727 0.24 15 2022/11/1 03:30:00 2.622 0.25 16 2022/11/1 03:45:00 2.535 0.256
tbl.DT = tbl.Date + tbl.Time;
tbl.DT.Format = 'yyyy/MM/dd HH:mm:ss'
tbl = 2880×6 table
Cycle Date Time ASLVBG02 Residual DT _____ _________ ________ ________ ________ ___________________ 1 2022/11/1 00:00:00 5.616 0.293 2022/11/01 00:00:00 2 2022/11/1 00:15:00 5.381 0.267 2022/11/01 00:15:00 3 2022/11/1 00:30:00 5.13 0.243 2022/11/01 00:30:00 4 2022/11/1 00:45:00 4.876 0.229 2022/11/01 00:45:00 5 2022/11/1 01:00:00 4.61 0.215 2022/11/01 01:00:00 6 2022/11/1 01:15:00 4.345 0.207 2022/11/01 01:15:00 7 2022/11/1 01:30:00 4.093 0.212 2022/11/01 01:30:00 8 2022/11/1 01:45:00 3.86 0.229 2022/11/01 01:45:00 9 2022/11/1 02:00:00 3.637 0.244 2022/11/01 02:00:00 10 2022/11/1 02:15:00 3.426 0.255 2022/11/01 02:15:00 11 2022/11/1 02:30:00 3.227 0.259 2022/11/01 02:30:00 12 2022/11/1 02:45:00 3.039 0.253 2022/11/01 02:45:00 13 2022/11/1 03:00:00 2.867 0.242 2022/11/01 03:00:00 14 2022/11/1 03:15:00 2.727 0.24 2022/11/01 03:15:00 15 2022/11/1 03:30:00 2.622 0.25 2022/11/01 03:30:00 16 2022/11/1 03:45:00 2.535 0.256 2022/11/01 03:45:00
  1 件のコメント
kolberg
kolberg 2022 年 12 月 22 日
移動済み: Steven Lord 2022 年 12 月 22 日
Thank you Stephen,that was very handy!Merry Christmas!

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

カテゴリ

Help Center および File ExchangeDates and Time についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by