我正在尝试将列表数据导出为CSV文件。
csv:to-file "myfile.csv" [[1 "two" 3] [4 5]]
这个正在运作。
set mylist [ "apple" "book" ]
csv:to-file "myfile.csv" mylist
但是这个没有用。 它显示了scala.MatchError:apple(类java.lang.String) 我该如何解决这个问题?
答案 0 :(得分:2)
csv:to-file
报告者期待列表列表,表示行列表,其中每行本身都表示为列表。
即使您只有一行,您仍然需要传递列表列表。所以而不是:
set mylist ["apple" "book"]
csv:to-file "myfile.csv" mylist
你应该这样做:
set mylist [["apple" "book"]]
csv:to-file "myfile.csv" mylist
(注意双括号。)
话虽如此,我认为您正在使用旧版本的扩展程序,因为您不应该看到Scala运行时错误(我认为您已经遇到this issue。)如果升级到NetLogo 6.0.2并使用扩展的捆绑版本,您将获得更清晰的信息:
Extension exception: Expected a list of lists, but apple was one of the elements.
error while observer running CSV:TO-FILE
called by procedure SETUP
called by Command Center