csv_read_file(File, RowList, [ separator(0';)])
[row(…, …, …), row(…, …, …), …]
file(base1, csv, 'c:/pl/prj1/file.csv'). file(base1, base, 'c:/pl/prj1/file.pl').
:- dynamic(base1/3).
abolish(base1/3).
perform_cl([]). perform_cl([row(N1, N2, _, N3,_)|T]):- assert(base1(N1,N2,N3)), !, perform_cl(T).
forall(member(row(N1,N2,N3),RowList), assert(base1(N1,N2,N3)).
file(base1, base, F), tell(F), forall( base1(N1,N2,N3), (writeq( base1(N1,N2,N3)), write('.'), nl) ), told.
file(base1, base, F), Consult(F).
file(base1, base, F), [F].
% % :- dynamic(base1/3). % % % CSV file(base1, csv, 'c:/pl/prj1/file1.csv'). % file(base1, base, 'c:/pl/prj1/file1.pl'). % csv % import_base:- % file(base1, csv, File), % c ";" [row(..., ..., ...), ...] csv_read_file(File, RowList, [ separator(0';)]), % abolish(base1/3), % perform_row1(RowList),!. % % % - . perform_row([]). % perform_row([row(N1, N2, _, N3,_)|T]):- % , assert(base1(N1,N2,N3)), !, % perform_row(T). % % perform_row1(RowList):- % : forall(member(row(N1, N2, _, N3,_),RowList), % assert(base1(N1,N2,N3))). % % save_base:- % file(base1, base, F), % , tell(F), % : forall( base1(N1,N2,N3), % (writeq( base1(N1,N2,N3)), write('.'), nl) ), told. % % load_base:- % file(base1, base, File), % consult(File).
; 12; /; ;
; 13; /; ;
; 14; /; ;
4 ?- import_base.
true.
5 ?- forall(base1(N1,N2,N3),writeln(base1(N1,N2,N3))).
base1( , 12, )
base1( , 13, )
base1( , 14, )
true.
6 ?- save_base.
true.
7 ?- abolish(base1/3).
true.
8 ?- forall(base1(N1,N2,N3),writeln(base1(N1,N2,N3))).
ERROR: toplevel: Undefined procedure: base1/3 (DWIM could not correct goal)
9 ?- load_base.
% c:/pl/prj1/file1.pl compiled 0.00 sec, 492 bytes
true.
10 ?- forall(base1(N1,N2,N3),writeln(base1(N1,N2,N3))).
base1( , 12, )
base1( , 13, )
base1( , 14, )
true.
base1(' ',' 12',' ').
base1(' ',' 13',' ').
base1(' ',' 14',' ').
Source: https://habr.com/ru/post/112137/
All Articles