亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法在 Go 中替換 csv 文件的內容

無法在 Go 中替換 csv 文件的內容

Go
郎朗坤 2021-10-18 14:23:01
我創建了一個 csv 文件(假設為“output.csv”),使用os.OpenFile標志os.Create和os.RDWR. 我正在對這個文件進行一系列操作。在每次迭代中,我都需要重寫 csv 文件(“output.csv”)的內容。但我的代碼附加到 csv 文件。
查看完整描述

2 回答

?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

在每次重寫之前,截斷文件并尋找到開頭。例子:


package main


import (

    "fmt"

    "os"

)


func main() {

    if f, err := os.Create("test.csv"); err == nil {

        defer f.Close()

        for n := 10; n > 0; n-- {

            f.Truncate(0) // comment or uncomment

            f.Seek(0, 0)  // these lines to see the difference

            for i := 0; i < n; i++ {

                f.WriteString(fmt.Sprintf("%d\n", i))

            }

        }

    } else {

        fmt.Println(err)

    }

}


查看完整回答
反對 回復 2021-10-18
?
慕斯709654

TA貢獻1840條經驗 獲得超5個贊

以讀寫(os.RDWR)模式打開文件附加到文件。


Sol:以只讀模式(os.RDONLY)打開文件進行讀取并在讀取后關閉它。


csvfile ,_:= os.OpenFile("output.csv", os.O_RDONLY|os.O_CREATE, 0777)

csvfile.Close()

對于寫入,以只寫模式(os.WRONLY)打開文件并在寫入后關閉它,這將覆蓋文件而不是附加。


csvfile ,_:= os.OpenFile("output.csv", os.O_WRONLY|os.O_CREATE, 0777)

csvfile.Close()

對于附加,您可以使用os.APPEND


查看完整回答
反對 回復 2021-10-18
  • 2 回答
  • 0 關注
  • 169 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號