How do I import a txt file with the white spaces

45 ビュー (過去 30 日間)
Roshen Jegajeevan
Roshen Jegajeevan 2021 年 3 月 2 日
編集済み: Meg Noah 2021 年 4 月 2 日
I have to edit a .22 file and change one of the columns. It is pretty much a text file with a matrix. It is parsed with a comma as a delimiter. However I want to retrieve the values in between the commas while maintaining the white space between the commas. So when I export the matrix after I've changed it, it will be the exact same with one changed column.
  3 件のコメント
Roshen Jegajeevan
Roshen Jegajeevan 2021 年 3 月 2 日
A = importdata('fort.22');
B = A.textdata;
Z = B{1,6};
X = str2double(Z);
hours = B(:,6);
hoursMat = str2double(hours);
hoursChg = hoursMat - X;
hoursCell = num2cell(hoursChg);
A.textdata(:,6) = hoursCell;
exten = num2cell(A.data);
Final = [A.textdata, exten];
I basically subtracted row 6 by a constant. I used that import function. However it imports it without the white spaces. THe reason I also had to concat A.textdata and exten is bc when I imported using this method, It split it into two different cells in a struct called A.data and A.textdata. Im trying to find a way to import so that I get everything between the comma in the file as one array. For example:
data set looks like this:
OFCL, 27, 192N, 855W, (this format in notepad)
OFCL, 22, 192N, 855W,
OFCL, 21, 192N, 855W,
I want to get it so I can get a cell with each element above between the commas. So the middle would be { 27} and not just {27} (no space before number). Is there any way to do this? It would also allow me to import the array as a whole and not connect the two peices that I got from importData (one struct --> two cells).
Walter Roberson
Walter Roberson 2021 年 3 月 2 日
A = readlines('fort.22');
Now A{6} would be the 6th line, and you could use text processing on it in any way you like, including extracting from fixed character positions, calculating something, and replacing those fixed character positions using a careful format.
However... when I look at your code, it looks more likely that you want to change column 6, rather than row 6. It does not make a lot of difference though.

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

回答 (1 件)

Meg Noah
Meg Noah 2021 年 4 月 2 日
編集済み: Meg Noah 2021 年 4 月 2 日
This seems to work if you don't mind working with a table
readtable('file22.txt','whitespace','','delimiter',',')

カテゴリ

Help Center および File ExchangeData Import and Analysis についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by