- Golang
- 判断文件是否存在:如果文件不存在,那么创建文件,并写入csv的标题字段和第一条数据;如果文件存在,追加写一条数据
- 需求
- 给定一个以@为分隔符的字符串,分隔了4条信息,还需要再加上时间戳信息,然后按照特定的顺序写入csv中
- 笔者因为任务需要,在windows和linux系统中都运行了一遍代码,发现在追加写操作时:
- 在windows系统中,代码
txt, err := os.OpenFile(csvName, os.O_APPEND, 0666)
运行无误
- 而在linux系统中,必须添加
os.O_RDWR(以读写的方式打开)
才能追加写成功,代码为 os.OpenFile(csvName, os.O_APPEND|os.O_RDWR, 0666)
- 笔者刚开始接触Go语言,若有代码结构和语法不规范的地方,请多包涵!
- 代码
package main
import (
"encoding/csv"
"fmt"
"os"
"strings"
"time"
)
func main() {
m3u8_dir_path := "13429235688@01@05@09"
data := strings.Split(m3u8_dir_path, "@")
//需要在index=1的地方插入时间戳,方便以“id time emo val arou”的顺序写入csv文件
//将in