Lihtsaim inimloetav failiformaat on selline struktureeritud tekstifail, kus igas reas on üks kirje, ja kirje sisaldab ühe või mitu arvu, mis on eraldatud tühiku, tabulatsioonisümboli või komaga (nt esimeses veerus aeg ja teistes veergudes andurite näidud sel hetkel):

0.00	0.00	0.000	0.08
0.05	0.00	0.000	0.25
0.10	0.00	0.012	0.49
0.15	0.00	0.039	0.86
0.20	0.00	0.126	0.85
0.25	0.02	0.136	0.99
0.30	0.02	0.116	3.39
0.35	0.02	0.349	8.25
0.40	0.03	0.950	13.03
0.45	0.10	1.755	15.75
0.50	0.21	2.608	16.61
0.55	0.37	3.452	16.58
0.60	0.56	4.237	16.96
0.65	0.79	5.110	17.99

Inglise keeleruumis on kümnenderaldajaks punkt. Sellise faili lugemiseks sobib funktsioon numpy.loadtxt. See tagastab kahemõõtmelise NumPy massiivi, kus esimese mõõtme sihis kulgevad read ja teise mõõtme sihis tulbad, nii et tulpade eraldamiseks tuleb saadud massiiv transponeerida:

aeg, koordinaat, kiirus, kiirendus = np.loadtxt('andmed.txt').T

Vaikimisi eeldatakse, et andmeveerud on eraldatud tühiku- või tabulatsioonisümboliga. Seda saab vajadusel muuta parameetriga delimiter.

Kui siiski on kümnenderaldajaks koma (nagu Eesti keeleruumis), võib kasutada funktsiooni pandas.read_csv, mis lubab kümnenderaldaja määrata parameetriga decimal:

from pandas import read_csv

andmed = read_csv('andmed.txt',
                   decimal = ',',
                   delimiter = '\t',
                   usecols = (0, 1),
                   dtype = float,
                   header = None).values

Siin parameeter usecols võib vajalik olla juhul kui mõni andmetulp failis on tühi või sisaldab mittearvulise tähendusega teksti. Lisaks võiks ette anda ka andmetüübi (dtype), et funktsioon ei peaks seda faili sisu baasil ise määrama.

Vaata lisaks

Sisukord