Filter löschen
Filter löschen

Partitioning data out of .txt files

3 Ansichten (letzte 30 Tage)
Jon
Jon am 9 Okt. 2022
Kommentiert: Jon am 17 Okt. 2022
I have a lot of old data scanned from hand writen notes. It was scanned in to a .txt file, the result being one long string of words and numbers. See data sample attached "archers_fieldnotes_scan".
The data consist of a location (or the shorthand note of it), a number, its result, then the next location, number, its result....repeat.
I need to break this information down into a usable matrix, consisting of 1 column vector fot the location, 1 column vector for the numeric value, and a thrid column vector of the result.
All I have been able to do with it so far is read the .txt file in as one long string.
txt=readlines("archer_fieldnotes_scan.txt");
This is the first time I am attempting to partition something this string dependant. Any suggestions?

Akzeptierte Antwort

Chunru
Chunru am 10 Okt. 2022
Bearbeitet: Chunru am 15 Okt. 2022
websave("scan.txt", "https://www.mathworks.com/matlabcentral/answers/uploaded_files/1150740/archer_fieldnotes_scan.txt")
ans = '/users/mss.system.KDDHFr/scan.txt'
%type scan.txt
s = readlines("scan.txt")
s = "northeast section ar20.63 - pos northeast sec ar20.69 - neg NE sec 20.71 - neg NE sect as 20.72 - ? southeast sec am20.70-neg SE sec am20.71 - pos"
x = regexp(s, '(\D+)(\d+\.\d+) - (pos|neg)* ', 'tokens')
x = 1×3 cell array
{["northeast section ar" "20.63" "pos"]} {["northeast sec ar" "20.69" "neg"]} {["NE sec " "20.71" "neg"]}
  3 Kommentare
Chunru
Chunru am 15 Okt. 2022
See above. You can read through regext, which is very powerful.
Jon
Jon am 17 Okt. 2022
Ok, cool you used the pos of neg, which is more or less common this will work and I can change the off events where it doesnt mannually. Great, thank you much.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by