gpt4 book ai didi

csv - 在prolog中将列表元素写入csv

转载 作者:行者123 更新时间:2023-12-03 23:42:40 24 4
gpt4 key购买 nike

我必须用 csv_write_file 写入 csv 文件。
我的实际代码是:

insert(T, File, Data) :-
Data = [X | Xs],
X =.. [_, _, A, B, C],
csv_write_file(File, [row(A, B, C)], [separator(0'\t)]),
insert(T, File, Xs).
数据是这样的列表:
[test(name, a, b, c), test(name, d, e, f), test(name, g, h, i)].
最后,文件只包含列表的最后一个元素 --> g h i但我想要一个这样的文件:
a b c
d e f
g h i
我的实现有什么问题?谢谢。

最佳答案

发生这种情况的原因是因为 csv_write_file/3每次都会重新开始写入 File .所以最后需要g , h , i并将这些写入文件。
您可以将数据批量处理到 row/3 的列表中s 然后将这些写入文件:

map_item(P, row(A, B, C)) :-
P =.. [_, _, A, B, C].

insert(T, File, Data) :-
maplist(map_item, Data, Rows),
csv_write_file(File, Rows, [separator(0'\t)]).

关于csv - 在prolog中将列表元素写入csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64836699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com