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()
