read .txt file data with data between specific lines "string" .
显示 更早的评论
I want to read data between ( strings ) line starting from " *Node " and
ending at and next (strings ) line " *Element, type=C3D4" .
采纳的回答
The textscan function using a numeric format descriptor string will automatically stop when it encounters:
*Element, type=C3D4
so this is actually a straightforward problem:
fidi = fopen('Copy_of_Job-1.txt','rt');
D = textscan(fidi, '%f%f%f%f', 'HeaderLines',9, 'Delimiter',',', 'CollectOutput',1);
fclose(fidi);
with ‘D’ being a (1418x4) double matrix.
7 个评论
With only two sections, and changing lines of text and changing format, your file needs specific and different textscan calls for the two sections:
fidi = fopen('Copy_of_Job-1.txt','rt');
D{1} = textscan(fidi, '%f%f%f%f', 'HeaderLines',9, 'Delimiter',',', 'CollectOutput',1);
txtline = fgets(fidi);
D{2} = textscan(fidi, '%f%f%f%f%f', 'Delimiter',',', 'CollectOutput',1);
fclose(fidi);
D1 = cell2mat(D{1}); % First Section
D2 = cell2mat(D{2}); % First Section
with ‘D1’ being a (1418 x 4) double, and ‘D2’ being a (6584 x 5) double.
Different files with different requirements would of course require different code.
thankyou got it .but i want code to find the next string itself and read the data upto next string .
how can i find the line number with the matching strings ? e.g *nodes and **Element, type=C3D4
the file format in my case remains constant with same strings .its abaqus .inp file . i want to read the data between strings and modify it .i changed it to .txt .
I am not certain what you are asking. I believe the code I posted in my Comment will do what you want.
If your file format remains the same, my code will work with all your files.
thankyou . i got it .. . ur code works perfectly
As always, my pleasure.
I appreciate your compliment.
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Data Import and Analysis 的更多信息
标签
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
