NetLogo无法在每次运行前加载CSV

时间:2015-09-22 20:06:29

标签: csv netlogo

我是NetLogo的新手并尝试导入具有状态坐标的CSV。我使用了这里给出的代码,它工作正常。唯一的问题是我必须关闭Netlogo并运行我的代码才能获得输出。如果我再次运行它,它不起作用,除非我关闭软件!

我调试了我的代码,并意识到它没有进入多次运行的while [not file-at-end?]循环。这是奇怪的行为。我已经初始化了所有列表和变量,并重置了所有。任何帮助表示赞赏。

我的代码:

to load-physician-file

  file-open "Physician-File.csv"

  while [not file-at-end?] 
  [
  set csv file-read-line
  set csv word csv ","

  set fileList[]

  while [not empty? csv] 
  [
  let $x position "," csv
  let $item substring csv 0 $x
  carefully [set $item read-from-string $item] []
  set fileList lput $item fileList
  set csv substring csv ($x + 1) length csv
  ]

  set State-abbrev item 0 fileList

  if label-states
  [
   create-state-labels 1
    [ 
      set xcor (item 2 filelist - 1.6)
      set ycor (item 1 fileList - 1.6) 
      set size 0
      set label item 0 fileList 
    ] 
    ] 
   ]  
  file-close
end

1 个答案:

答案 0 :(得分:1)

我强烈怀疑您错过了file-closefile-close-all

也许与期望相反,clear-all不关闭文件,file-open也不会返回已打开文件的开头。