Azzera filtri
Azzera filtri

Partitioning data out of .txt files

3 visualizzazioni (ultimi 30 giorni)
Jon
Jon il 9 Ott 2022
Commentato: Jon il 17 Ott 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?

Risposta accettata

Chunru
Chunru il 10 Ott 2022
Modificato: Chunru il 15 Ott 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 Commenti
Chunru
Chunru il 15 Ott 2022
See above. You can read through regext, which is very powerful.
Jon
Jon il 17 Ott 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.

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by