Appearance
informat.csv csv相关
概述
使用informat.csv
执行csv文件的读写操作
CsvReader
reader
从本地沙盒中读取csv文件,如果文件不存在将会抛出异常
javascript
informat.csv.reader(file)
参数 | 类型 | 描述 |
---|---|---|
file | String | app的沙盒环境中的文件地址 |
返回值
类型为CsvReader
示例
javascript
const reader = informat.csv.reader('path/to/file.csv')
setFieldSeparator
设置字段分隔符
js
reader.setFieldSeparator(c)
提示
- 默认分隔符是逗号
,
参数 | 类型 | 描述 |
---|---|---|
c | char | 字段分隔符 |
示例
js
reader.setFieldSeparator(',')
setQuoteCharacter
设置引号字符
js
reader.setQuoteCharacter(c)
提示
- 默认是双引号
"
参数 | 类型 | 描述 |
---|---|---|
c | char | 引号字符 |
示例
js
reader.setQuoteCharacter('\"')
setCommentCharacter
设置注释字符,
js
reader.setCommentCharacter(c)
提示
- 默认注释字符
#
参数 | 类型 | 描述 |
---|---|---|
c | char | 注释字符 |
示例
js
reader.setCommentCharacter('#')
setCommentStrategy
设置注释策略
js
reader.setCommentStrategy(s)
参数 | 类型 | 描述 |
---|---|---|
s | String | NONE,SKIP,READ |
策略描述:
策略 | 描述 |
---|---|
NONE | 不检测注释 - 将所有内容都视为普通的单元格内容,默认值 |
SKIP | 检测注释,但不返回注释行 |
READ | 检测注释并返回注释行(整行作为一个字段)。注释字符本身将被去除 |
示例
js
reader.setCommentStrategy('NONE')
setSkipEmptyRows
设置是否忽略空行
js
reader.setSkipEmptyRows(f)
参数 | 类型 | 描述 |
---|---|---|
f | Boolean | 是否忽略空行 |
示例
js
reader.setSkipEmptyRows(true)
setErrorOnDifferentFieldCount
设置是否在遇到列数不一致时抛出异常
js
reader.setErrorOnDifferentFieldCount(f)
参数 | 类型 | 描述 |
---|---|---|
f | Boolean | 是否抛出异常 |
示例
js
reader.setErrorOnDifferentFieldCount(true)
setCharset
设置字符集(默认字符集:UTF-8)
js
reader.setCharset(charset)
参数 | 类型 | 描述 |
---|---|---|
charset | String | 字符集,eg:UTF-8,GBK |
示例
js
reader.setCharset('UTF-8')
read
读取csv文件
js
reader.read(accept)
参数 | 类型 | 描述 |
---|---|---|
accept | Function(CsvRow) | 每一行的处理函数 |
示例
js
let reader = informat.csv.reader('path/to/file.csv');
reader.read((csvRow)=>{
for(let i = 0; i < csvRow.getFieldCount(); i++){
console.log(csvRow.getField(i))
}
})
CsvRow
getOriginalLineNumber
返回行号
js
csvRow.getOriginalLineNumber()
getField
返回字段
js
csvRow.getField(index)
参数 | 类型 | 描述 |
---|---|---|
index | Integer | 索引 |
getFields
返回字段列表
js
csvRow.getFields()
getFieldCount
返回字段数量
js
csvRow.getFieldCount()
isComment
本行是否是注释
js
csvRow.isComment()
isEmpty
本行是否是空行
js
csvRow.isEmpty()
CsvWriter
writer
获取输入对象,将内容写入到本地沙盒的csv文件中
javascript
informat.csv.writer(file)
参数 | 类型 | 描述 |
---|---|---|
file | String | app的沙盒环境中的文件地址 |
返回值
类型为CsvWriter
示例
js
let writer=informat.csv.writer('path/to/file.csv');
writer.writeRow(['a','b','c','d']);
writer.writeRow(['1','2','3','4']);
writer.close();
setCharset
设置字符集
js
writer.setCharset(charset)
提示
默认字符集:UTF-8
参数 | 类型 | 描述 |
---|---|---|
charset | String | 字符集,eg:UTF-8,GBK |
示例
js
writer.setCharset('UTF-8')
setFieldSeparator
设置字段分隔符
js
writer.setFieldSeparator(c)
提示
默认分隔符是逗号,
参数 | 类型 | 描述 |
---|---|---|
c | char | 字段分隔符 |
示例
js
writer.setFieldSeparator()
setQuoteCharacter
设置引号字符,默认是双引号(")
js
writer.setQuoteCharacter(c)
提示
默认是双引号"
参数 | 类型 | 描述 |
---|---|---|
c | char | 引号字符 |
示例
js
writer.setQuoteCharacter()
setQuoteStrategy
设置引号策略
js
writer.setQuoteStrategy(s)
参数 | 类型 | 描述 |
---|---|---|
s | String | REQUIRED,EMPTY,ALWAYS |
策略描述:
策略 | 描述 |
---|---|
REQUIRED | 该策略要求所有的字段都必须使用引号 ,默认值 |
EMPTY | 该策略要求只有在字段中包含逗号或换行符时才需要使用引号 |
ALWAYS | 该策略要求所有的字段都始终使用引号 |
示例
js
writer.setQuoteStrategy('REQUIRED')
setCommentCharacter
设置注释字符,默认注释字符是(#)
js
writer.setCommentCharacter(c)
参数 | 类型 | 描述 |
---|---|---|
c | char | 注释字符 |
setLineDelimiter
设置行定界符,默认是(CRLF)
js
writer.setLineDelimiter(s)
参数 | 类型 | 描述 |
---|---|---|
s | String | 行定界符 |
行定界符
定界符 | 描述 |
---|---|
CRLF | 对应\r\n,默认值 |
CR | 对应\r |
LF | 对应\n |
PLATFORM | 系统默认 |
示例
js
writer.setLineDelimiter('CRLF')
writeRow
写入一行数据
js
writer.writeRow(row)
参数 | 类型 | 描述 |
---|---|---|
row | Array<String> | 内容的数组 |
writeComment
写入注释行
js
writer.writeComment(comment)
参数 | 类型 | 描述 |
---|---|---|
comment | String | 注释内容 |
示例
js
writer.writeComment('注释内容')
close
关闭输入流
js
writer.close()