Import 如何在每次勾选时导入数据';NetLogo中的参数?

Import 如何在每次勾选时导入数据';NetLogo中的参数?,import,netlogo,Import,Netlogo,我有一个每天股价和买入信号的文本数据集(1表示买入,-1表示卖出,0表示无所作为)。如何将数据导入NetLogo,使勾号1成为第一天,所有信息都在第一行,并且对于每个勾号,我可以根据数据获得不同的价格和信号 我拥有的数据采用以下格式: 勾选价格信号1信号2信号3 15.7950 25.8050 35.8150 45.80 0 0 55.80 0 0 65.81 0 0 75.8450 85.8550 95.85 0 0 105.87 0 0 11.5.885.0 125.8650 135.855

我有一个每天股价和买入信号的文本数据集(1表示买入,-1表示卖出,0表示无所作为)。如何将数据导入NetLogo,使勾号1成为第一天,所有信息都在第一行,并且对于每个勾号,我可以根据数据获得不同的价格和信号

我拥有的数据采用以下格式:

勾选价格信号1信号2信号3

15.7950

25.8050

35.8150

45.80 0 0

55.80 0 0

65.81 0 0

75.8450

85.8550

95.85 0 0

105.87 0 0

11.5.885.0

125.8650

135.8550

14.5.8350

15 5.84-10 1

globals [
  global-counter
  global-price
  global-signal1
  global-signal2
  global-signal3
]

turtles-own [
  cash
  stock
  total-asset
  w1
  w2
  w3
  w
]

to setup
  clear-all
  reset-ticks
  create-turtle
  stock-import
end

to create-turtle
  create-turtles 100
  ask turtles [ 
    set shape "person"
    setxy random-xcor random-ycor
    set cash 1000
    set stock 0
    set w1 random-float 1
    set w2 random-float ( 1 - w1 )
    set w3 1 - w1 - w2
  ]
end

to stock-import
  file-open "data.txt"
  while [ not file-at-end? ]
  [ 
    set global-counter [ ]
    set global-price [ ]
    set global-signal1 [ ]
    set global-signal2 [ ]
    set global-signal3 [ ]


    let counter file-read
    let price file-read
    let signal1 file-read
    let signal2 file-read
    let signal3 file-read

    set global-counter lput counter global-counter
    set global-price lput price global-price
    set global-signal1 lput signal1 global-signal1
    set global-signal2 lput signal2 global-signal2
    set global-signal3 lput signal3 global-signal3
  ]
  file-close
end

to make-one-trade
  ask turtles [ set w ( w1 * global-signal1 + w2 * global-signal2 + w3 * global-signal3 )
    set cash ( cash - w * global-price )
    set stock ( stock + w1 + w2 + w3 )
    set total-asset ( cash + stock * global-price )
  ]
end

to go
  make-one-trade
  tick
end

如果数据文件确实使用单个空格来分隔数据,则可以使用
csv
模块并指定分隔符:

extensions [csv]
to setup
  ca
end

to go
  file-open "c:/temp/temp.csv"
  if file-at-end? [ stop ]  ;; protect against end of file
  ;;read a single line (specifying delimiter)
  let _line (csv:from-row file-read-line " ")
  print _line  ;;or do what you want
end
OT:为什么您的数据空间是分隔的?csv格式(即,逗号分隔值)是公认的国际数据交换标准:

谢谢你,艾伦。轮班后我会试试你告诉我的。数据是以空格分隔的,因为它位于Excel文件中,我只需按Ctrl-C和Ctrl-V键将其转换为一个空白的txt文件。@lovedavidsilva您可能知道,但以防万一:Excel支持导出为CSV格式。