我正在尝试检索Stripe数据并将其解析为CSV文件。这是我的代码:
package main
import (
"github.com/stripe/stripe-go"
"github.com/stripe/stripe-go/invoice"
"fmt"
"os"
"encoding/csv"
)
func main() {
stripe.Key = "" // I can't share the API key
params := &stripe.InvoiceListParams{}
params.Filters.AddFilter("limit", "", "3")
params.Filters.AddFilter("status", "", "paid")
i := invoice.List(params)
// Create a CSV file
csvdatafile, err := os.Create("./mycsvfile.csv")
if err != nil {
fmt.Println(err)
}
defer csvdatafile.Close()
// Write Unmarshaled json data to CSV file
w := csv.NewWriter(csvdatafile)
//Column title
var header []string
header = append(header, "ID")
w.Write(header)
for i.Next() {
in := i.Invoice()
fmt.Printf(in.ID) // It is working
w.Write(in) // It is not working
}
w.Flush()
fmt.Println("Appending succed")
}
当我运行程序时,go run *.go
出现以下错误:
./main.go:35:10: cannot use in (type *stripe.Invoice) as type []string in argument to w.Write
我认为我离解决方案不远。我只需要了解如何正确地在CSV文件中写w.Write()
命令就可以了。
根据文档,Write函数为:
func (w *Writer) Write(record []string) error
也就是说,期望您传递代表一串CSV数据的字符串切片,每个字符串都是一个切片。因此,如果只有一个字段,则必须传递一个字符串切片1:
w.Write([]string{in.ID})
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句