6

我正在尝试将 .txt 文件中的数据输入到方案结构中。每个元素都由数据文件中的制表符分隔,每个结构集都在新行上。我希望能够将数据从一行读入一个结构,并列出文件中设置的每个结构。有什么建议么?

4

2 回答 2

6

不太确定您想到了什么结构,但假设您有一个如下文本文件:

--> cat blah.txt
富吧巴兹
1 2 3 4 5
aa bb cc dd ee

您可以使用 sed 将其直接转换为方案中的列表列表:

--> echo "(define mylist '("`sed -e 's/\(.*\)/(\1)/' blah.txt`"))" > foo.txt

然后生成以下文件:

--> 猫 foo.txt
(define mylist '((foo bar baz) (1 2 3 4 5) (aa bb cc dd ee)))

现在您所要做的就是将文件加载到方案中:

(加载“foo.txt”)

您可以通过“mylist”变量访问该结构。

于 2009-04-05T19:10:38.453 回答
3

听起来像是一个带有制表符而不是逗号的 CSV 文件。如果您使用 PLT Scheme (DrScheme/mzscheme) neil 的 csv 库可能是您想要的。

这是文档

这是远程加载它的方法:

(require (planet neil/csv:1:2/csv))

至少,说明书上是这么说的。在我稍微有点过分的 DrScheme 上,这是有效的:

(require (planet "csv.ss" ("neil" "csv.plt" 1 (= 1))))
于 2008-12-01T14:39:53.070 回答