Я нашел много примеров кода для записи в CSV, передав строку [] [].(например, следующее):
package main
import (
"os"
"log"
"encoding/csv"
)
var data = [][]string{
{"Row 1", "30"},
{"Row 2", "60"},
{"Row 3", "90"}}
func main() {
file, err := os.Create("tutorials_technology.csv")
if err != nil {
log.Fatal(err)
}
defer file.Close()
w := csv.NewWriter(file)
for _, value := range data {
if err := w.Write(value); err != nil {
log.Fatalln("Error writing record to csv: ", err)
}
}
w.Flush()
}
Однако, Я не нашел примеров кода, показывающих, как использовать функцию gota dataframe.WriteCSV () для записи вCSV. В документации gota dataframe нет примера для записи в csv, но есть пример для чтения из csv.
Функция фрейма данных WriteCSV () требует ввода интерфейса io.Writer {}.Я не был уверен, как это оценить.
Следующее не сработало
writer := csv.NewWriter(f)
df.WriteCSV(writer) // TODO This writer needs to be a []byte writer
Я работал над этим довольно давно.У кого-нибудь есть какие-либо подсказки?
Я пытался превратить мой gota dataframe в строковый тип [] [], но это немного неудобно, потому что я помещаю свои данные в gota dataframe с помощью функции LoadStructs () пакета.и я читал в некоторых CSV в полу-обычай, прежде чем положить их в структуры.
Так что я мог бы написать функцию для преобразования моих структур в строковый формат [] [], но я чувствую, что это довольно утомительно, и я уверен, что должен быть лучший способ.На самом деле, я уверен, что это связано с тем, что тип данных имеет метод WriteCSV (), но я просто не понял, как его использовать.
Вот мои структуры
type CsvLine struct {
Index int
Date string
Symbol string
Open float64
High float64
Low float64
Close float64
// Volume float64
// Market_Cap float64
}
type File struct {
Rows []CsvLine
}
Отказ от ответственности: я немного новичок Голанга.Я использую Go только пару месяцев, и я впервые пытаюсь записать файл.Я мало взаимодействовал с интерфейсом io.Writer, но слышал, что он очень полезен.
И да, я часто заглядываю в блог Golang.org, читаю «Effective Go» и продолжаю ссылаться на него.