用于解析、读写 CSV(Comma Separated Values),TXT 格式数据库。
注意文本数据规范不统一,不同的程序解析结果可能有差异。
用法请参考:范例程序 / 数据库 / csv / string.csv
创建 TTXT,CSV 格式数据库对象。
创建 TXT,CSV 格式数据库对象。
|可编解码 Markdown 简单表格(忽略 Markdown 转义,@quoteChar 默认设为 null )。|则默认设为双引号。最后一次解析 CSV 读取的注释(不包含行首注释标记 commentChar)。
需要在使用属性或构造参数 commentChar 先指定注释标记。
用于指定行注释开始标记,注释只在行首有效(避免与数据混淆)。
一般都使用"#"符号,但不是所有 CSV 解析器都支持注释。
默认值为 null,也就是不启用注释。
对象本身存储的数据表。
parse 函数解析得到的数组会赋值并替换此属性。
push 函数则默认向此数据表添加数据。
stringify,stringifyA 函数在不指定参数时使用此数据表作为参数
for tab in stringCsvObject.each("文件路径.csv") {
/*逐行读取参数 @path 指定路径的 CSV 文件,不支持列内容包含跨行的 CSV 文件。
参数 @codepage 可选指定输入文件代码页(默认自动检测)。
tab 为当前读取行解析后的列数组*/
}
列分隔符(field separator),默认为逗号
加载并解析文件。
忽略 CSV 开始多余的回车换行符\r或
。
加载并解析参数 @path 指定路径的 CSV 文件,返回数组。
文件开头有 UTF-8 BOM 则以 UTF-8 编码读入内容,
否则以参数 @codepage 指定的编码读入并转换为 UTF-8 编码,
参数 @2 省略时默认值为 0,表示当前默认 ANSI 编码。
如果参数 @hasHeader 指定为 true(此参数规则与 parse 方法相同),
则将第一行记录到返回对象的 fields 属性而不会放入数组。
解析数据并返回得到的数组。
忽略 CSV 开始多余的回车换行符\r或
。
解析参数 @str 指定的数据(字符串或 buffer)并返回得到的数组。
对象的 dataTable 属性也会被赋值并替换为这里返回的数组。
如参数 @hasHeader 指定为 true,则第一行记录识别为返回对象的 fields 属性。
@hasHeader 为 true 时可识别简单 Markdown 表格(
不处理 Markdown 转义但执行&<>"'符号对应实体与 NCR 解码)
自注释中提取并解析字段声明。
参数 pattern 使用模式匹配语法指定提出规则,
默认为 [ \t]*<\a+\:\s*>?(\N+)\s*$ ,也就是取最后一行注释,并允许行首空格或制表符。
添加数据到对象的 dataTable 属性指向的数据表
添加数据到对象的 dataTable 属性指向的数据表
参数 @1 如果是表,则所有参数都作为数据行添加到 dataTable 数据表
否则所有参数合并为一行数据并添加到 dataTable 数据表
之后可以调用 stringify 函数生成文本
指定用于包含列的引号,默认为双引号。
仅在字段包含分隔符时才会将字段包含在引号内。
以 UTF-8 编码写入文件
在参数 @path 指定路径的文件写入 UTF-8 BOM,
然后将数据以 UTF-8 编码、CSV 格式写入文件。
如果不指定参数 @dataTable ,则使用之前调用 push 函数添加的数据。
以 ANSI 编码写入文件
将数据以 ANSI 编码、CSV 格式写入文件
如果不指定参数 @dataTable ,则使用之前调用 push 函数添加的数据。
参数 @3 如果为 true 则保留原来的文件内容并追加新的数据。
数据表转换为 UTF-8 文本
数据表按 CSV 格式转换为 UTF8 编码的字符串。
如果不指定参数,则使用对象的 dataTable 属性作为参数
参数 @dataTable 有 fields 字段时
子数组可以是纯数组(索引为序号)或者对象(名值对)。
数据表转换为 ANSI 文本
数据表转换为 ANSI 文本
如果不指定参数,则使用对象的 dataTable 属性作为参数