Я пытаюсь получить данные 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()
.