works????

This commit is contained in:
Peder Vatn Austad
2024-12-25 16:48:43 +01:00
parent c41200c4a7
commit c190c4295d
3 changed files with 105 additions and 1 deletions

View File

@@ -127,7 +127,7 @@ type Data struct {
// FetchData function to retrieve data from API // FetchData function to retrieve data from API
func FetchData() (*Data, error) { func FetchData() (*Data, error) {
resp, err := http.Get("https://api.entur.io/realtime/v1/rest/et?maxSize=10000") resp, err := http.Get("https://api.entur.io/realtime/v1/rest/et?useOriginalId=true&maxSize=100000")
if err != nil { if err != nil {
return nil, err return nil, err
} }

103
export/csv.go Normal file
View File

@@ -0,0 +1,103 @@
package export
import (
"encoding/csv"
"log"
"os"
"ti1/data"
)
func ExportToCSV(data *data.Data) {
// Open the file for writing
file, err := os.Create("output.csv")
if err != nil {
log.Fatal(err)
}
defer file.Close()
// Create a CSV writer
writer := csv.NewWriter(file)
defer writer.Flush()
// Write the header row
header := []string{
"RecordedAtTime",
"LineRef",
"DirectionRef",
"DataSource",
"DatedVehicleJourneyRef",
"VehicleMode",
"DataFrameRef",
"OriginRef",
"DestinationRef",
"OperatorRef",
"VehicleRef",
"Cancellation",
"OriginName",
"DestinationName",
"ProductCategoryRef",
"ServiceFeatureRef",
"Monitored",
"JourneyPatternRef",
"JourneyPatternName",
"PublishedLineName",
"DirectionName",
"OriginAimedDepartureTime",
"DestinationAimedArrivalTime",
"BlockRef",
"VehicleJourneyRef",
"Occupancy",
"DestinationDisplayAtOrigin",
"ExtraJourney",
"RouteRef",
"GroupOfLinesRef",
"ExternalLineRef",
"InCongestion",
"PredictionInaccurate",
"JourneyNote",
"Via",
}
writer.Write(header)
// Write the data rows
for _, journey := range data.ServiceDelivery.EstimatedTimetableDelivery[0].EstimatedJourneyVersionFrame.EstimatedVehicleJourney {
row := []string{
journey.RecordedAtTime,
journey.LineRef,
journey.DirectionRef,
journey.DataSource,
journey.FramedVehicleJourneyRef.DatedVehicleJourneyRef,
journey.VehicleMode,
journey.FramedVehicleJourneyRef.DataFrameRef,
journey.OriginRef,
journey.DestinationRef,
journey.OperatorRef,
journey.VehicleRef,
journey.Cancellation,
journey.OriginName,
journey.DestinationName,
journey.ProductCategoryRef,
journey.ServiceFeatureRef,
journey.Monitored,
journey.JourneyPatternRef,
journey.JourneyPatternName,
journey.PublishedLineName,
journey.DirectionName,
journey.OriginAimedDepartureTime,
journey.DestinationAimedArrivalTime,
journey.BlockRef,
journey.VehicleJourneyRef,
journey.Occupancy,
journey.DestinationDisplayAtOrigin,
journey.ExtraJourney,
journey.RouteRef,
journey.GroupOfLinesRef,
journey.ExternalLineRef,
journey.InCongestion,
journey.PredictionInaccurate,
journey.JourneyNote,
journey.Via.PlaceName,
}
writer.Write(row)
}
}

View File

@@ -15,6 +15,7 @@ func main() {
log.Fatal(err) log.Fatal(err)
} }
//export.ExportToCSV(data)
export.DBData(data) export.DBData(data)
//log.Printf("Data fetched successfully: %+v", data) //log.Printf("Data fetched successfully: %+v", data)