我想打开同一文件两次。在我之前的question中,我试图检查文件是否包含空白行。
我有一些POC代码可以回答这个问题,但是它需要将同一文件打开两次。
let who-file-name "world-health-field-surveillance.csv"
let who-file-name-dict csv:from-file who-file-name
let who-file-names sort [who] of names
let index 1 ;not 0, this removes the header in the csv
repeat length who-file-names [
file-open "world-health-field-surveillance.csv"
while [ not file-at-end? ][
let row csv:from-row file-read-line
if (not empty? row) [
ask names (item (index - 1) who-file-names) [
set label item 0 (item index who-file-name-dict)
file-read-line
函数来自Netlogo的csv
extension。
问题是netlogo的file-open
函数用于指定后续代码中引用的文件。
第let row csv:from-row file-read-line
行将使文件指针前进并丢弃该行,通常该行会由who-file-names
读取。
我该怎么办?这似乎是netlogo的限制。但是我也许能够以某种方式避免这个问题。