要从CSV文件中获得类似的表示,需要将文件一次读取一行(使用读取行)到字符串变量中。然后需要标记该字符串。有多种方法,您可以在此处搜索CSV令牌化。然而,我的做法略有不同。我将所有行读入一个字符串变量,然后将其发送到我的RegExp中的RX:CSV令牌函数。LSP文件。这只是对整个文件进行标记,以生成与ADOLisp完全相同的列表类型。以下是使用我的代码读取整个CSV文件的示例:
或者(可能更有效一点):
正如比加尔所说,我也建议你首先选择这三种方法中的一种。你可以稍后提供一个选项来阅读这3个选项中的任何一个,一旦你让其中一个工作。通常从CSV开始是个好主意,因为它更像是一种通用存储。
“普通”Excel方法(即通过ActiveX)要求用户安装了Excel。ADOLisp只允许使用Access ODBC/ADO驱动程序的MDB文件,而不需要整个Access程序。顺便说一句,ADOLisp也允许读取(可能写入)XLS文件,因为它可以使用Excel ODBC驱动程序,不需要Excel程序。
在任何情况下,我建议您获取类似此嵌套列表的内容。它的优点是每行的第一个字段可以用作“键”。因此,如果用户键入值,您可以使用assoc搜索相关行。例如,假设数据(通过我的上述例程从CSV读取)存储在名为data的变量中,您可以执行以下操作:
只要第一列是唯一的,就可以得到“正确”行。如果不是唯一的,你只能得到第一个这样找到的。否则,搜索一个名为massoc的例程,该例程将提取以键作为其第一个字段的所有行。
然后,为了扩展到MDB/XLS/AnythingElse,您需要做的就是编写一些代码,将数据提取到类似的列表中。这意味着你已经让你的日常生活变得可有可无——从长远来看,这会有很大帮助。
页:
1
[2]