aardio 文档

string.csv 库模块帮助文档

string 成员列表 #

string.csv #

用于解析、读写 CSV(Comma Separated Values),TXT 格式数据库。
注意文本数据规范不统一,不同的程序解析结果可能有差异。
用法请参考:范例程序 / 数据库 / csv / string.csv

创建 TTXT,CSV 格式数据库对象。

string.csv() #

返回对象:stringCsvObject

string.csv(fieldSeparator,quoteChar,commentChar) #

创建 TXT,CSV 格式数据库对象。

stringCsvObject 成员列表 #

stringCsvObject.comment #

最后一次解析 CSV 读取的注释(不包含行首注释标记 commentChar)。
需要在使用属性或构造参数 commentChar 先指定注释标记。

stringCsvObject.commentChar #

用于指定行注释开始标记,注释只在行首有效(避免与数据混淆)。
一般都使用"#"符号,但不是所有 CSV 解析器都支持注释。
默认值为 null,也就是不启用注释。

stringCsvObject.dataTable #

对象本身存储的数据表。
parse 函数解析得到的数组会赋值并替换此属性。
push 函数则默认向此数据表添加数据。
stringify,stringifyA 函数在不指定参数时使用此数据表作为参数

stringCsvObject.each(path,codepage) #

for tab in stringCsvObject.each("文件路径.csv") {
    /*逐行读取参数 @path 指定路径的 CSV 文件,不支持列内容包含跨行的 CSV 文件。  
参数 @codepage 可选指定输入文件代码页(默认自动检测)。  
tab 为当前读取行解析后的列数组*/
}

stringCsvObject.fieldSeparator #

列分隔符(field separator),默认为逗号

stringCsvObject.load #

加载并解析文件。
忽略 CSV 开始多余的回车换行符\r

stringCsvObject.load(path,codepage,hasHeader) #

加载并解析参数 @path 指定路径的 CSV 文件,返回数组。
文件开头有 UTF-8 BOM 则以 UTF-8 编码读入内容,
否则以参数 @codepage 指定的编码读入并转换为 UTF-8 编码,
参数 @2 省略时默认值为 0,表示当前默认 ANSI 编码。

如果参数 @hasHeader 指定为 true(此参数规则与 parse 方法相同),
则将第一行记录到返回对象的 fields 属性而不会放入数组。

stringCsvObject.parse #

解析数据并返回得到的数组。
忽略 CSV 开始多余的回车换行符\r

stringCsvObject.parse(str,hasHeader) #

解析参数 @str 指定的数据(字符串或 buffer)并返回得到的数组。
对象的 dataTable 属性也会被赋值并替换为这里返回的数组。

如参数 @hasHeader 指定为 true,则第一行记录识别为返回对象的 fields 属性。
@hasHeader 为 true 时可识别简单 Markdown 表格(
不处理 Markdown 转义但执行&<>"'符号对应实体与 NCR 解码)

stringCsvObject.parseComment(pattern) #

自注释中提取并解析字段声明。
参数 pattern 使用模式匹配语法指定提出规则,
默认为 [ \t]*<\a+\:\s*>?(\N+)\s*$ ,也就是取最后一行注释,并允许行首空格或制表符。

stringCsvObject.push #

添加数据到对象的 dataTable 属性指向的数据表

stringCsvObject.push(...) #

添加数据到对象的 dataTable 属性指向的数据表
参数 @1 如果是表,则所有参数都作为数据行添加到 dataTable 数据表
否则所有参数合并为一行数据并添加到 dataTable 数据表
之后可以调用 stringify 函数生成文本

stringCsvObject.quote #

指定用于包含列的引号,默认为双引号。
仅在字段包含分隔符时才会将字段包含在引号内。

stringCsvObject.save #

以 UTF-8 编码写入文件

stringCsvObject.save(path,dataTable,append) #

在参数 @path 指定路径的文件写入 UTF-8 BOM,
然后将数据以 UTF-8 编码、CSV 格式写入文件。
如果不指定参数 @dataTable ,则使用之前调用 push 函数添加的数据。

stringCsvObject.saveA #

以 ANSI 编码写入文件

stringCsvObject.saveA(path,dataTable,append) #

将数据以 ANSI 编码、CSV 格式写入文件
如果不指定参数 @dataTable ,则使用之前调用 push 函数添加的数据。
参数 @3 如果为 true 则保留原来的文件内容并追加新的数据。

stringCsvObject.stringify #

数据表转换为 UTF-8 文本

stringCsvObject.stringify(dataTable) #

数据表按 CSV 格式转换为 UTF8 编码的字符串。
如果不指定参数,则使用对象的 dataTable 属性作为参数
参数 @dataTable 有 fields 字段时
子数组可以是纯数组(索引为序号)或者对象(名值对)。

stringCsvObject.stringifyA #

数据表转换为 ANSI 文本

stringCsvObject.stringifyA(dataTable) #

数据表转换为 ANSI 文本
如果不指定参数,则使用对象的 dataTable 属性作为参数

Markdown 格式