我正在尝试将列表数据导出到 CSV 文件。
csv:to-file "myfile.csv" [[1 "two" 3] [4 5]]
这个正在工作。
set mylist [ "apple" "book" ]
csv:to-file "myfile.csv" mylist
但是这个不起作用。 它显示 scala.MatchError: apple (of class java.lang.String) 我该如何解决这个问题?
最佳答案
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
关于Netlogo 中的 CSV 导出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46538815/