如何在 Netlogo 中逐行导入 CSV?
How do you import a CSV line-by-line in Netlogo?
如何从 CSV 文件导入数据并将其逐行转换以便在我的程序中使用?我希望它是一个字符串,但我不断收到错误消息,提示它仍然是一个列表或列表列表。
我正在尝试复制 Netlogo 用户手册中给出的示例,用于每个刻度读取一行文件(见下文)。我创建了一个简单的例子。
extensions [CSV]
globals [date]
to setup
clear-all
file-close-all
file-open "S&PDate.csv"
set date current-date
reset-ticks
end
to go
if file-at-end? [stop]
set date current-date
tick
end
to-report current-date
file-open "S&PDate.csv"
let result csv:from-row file-read-line
while [ not file-at-end? ] [
let row csv:from-row file-read-line
set result (map result row)
]
file-close
report result
end
From NetLogo User Manual
我的想法是将 CSV 数据一次性全部导入为列表,然后按刻度数(即逐行)从列表中提取值。
extensions [csv]
globals [data variable]
to setup
file-close-all
file-open "S&PDate.csv"
;; read the data all at once by using csv:from-file
set data csv:from-file "S&PDate.csv"
reset-ticks
end
to go
if file-at-end? [stop]
;;extract value from the list, using item 0 to remove the list, and just keep the value
set variable item 0 item ticks data
tick
if ticks = length data [stop]
show variable
end
希望对您有所帮助。如果您需要进一步说明,请告诉我。
如何从 CSV 文件导入数据并将其逐行转换以便在我的程序中使用?我希望它是一个字符串,但我不断收到错误消息,提示它仍然是一个列表或列表列表。
我正在尝试复制 Netlogo 用户手册中给出的示例,用于每个刻度读取一行文件(见下文)。我创建了一个简单的例子。
extensions [CSV]
globals [date]
to setup
clear-all
file-close-all
file-open "S&PDate.csv"
set date current-date
reset-ticks
end
to go
if file-at-end? [stop]
set date current-date
tick
end
to-report current-date
file-open "S&PDate.csv"
let result csv:from-row file-read-line
while [ not file-at-end? ] [
let row csv:from-row file-read-line
set result (map result row)
]
file-close
report result
end
From NetLogo User Manual
我的想法是将 CSV 数据一次性全部导入为列表,然后按刻度数(即逐行)从列表中提取值。
extensions [csv]
globals [data variable]
to setup
file-close-all
file-open "S&PDate.csv"
;; read the data all at once by using csv:from-file
set data csv:from-file "S&PDate.csv"
reset-ticks
end
to go
if file-at-end? [stop]
;;extract value from the list, using item 0 to remove the list, and just keep the value
set variable item 0 item ticks data
tick
if ticks = length data [stop]
show variable
end
希望对您有所帮助。如果您需要进一步说明,请告诉我。