Help loading data from CSV into SwiftData

I’m trying to build my first Swift Data/Swift UI app and have hit a road block trying to load that data from a CSV file that is in my project. This is what I have right now and nothing will show on the view. Any ideas what is wrong?

View

import SwiftUI
import SwiftData

struct ForEachView: View {
    
    @Environment(\.modelContext) private var modelContext
    @Query private var shops: [Shop]
    
    var body: some View {
        NavigationView {
            List {
                ForEach(shops) { shop in
                    HStack {
                        Text(shop.name)
                        Text("1")
                    }
                }
            }.navigationTitle("Test")
        }
    }
}

#Preview {
    ForEachView()
}

SHOP Model

import Foundation
import SwiftData


@Model
class Shop: Identifiable {
    let id = UUID()
    var name: String
    var address: String
    var instagram: String
    var website: String
    var phone: String
    var local: Bool
    var chain: Bool
    var roaster: String
    
    
    init(name: String, address: String, instagram: String, website: String, phone: String, local: Bool, chain: Bool, roaster: String) {
        self.name = name
        self.address = address
        self.instagram = instagram
        self.website = website
        self.phone = phone
        self.local = local
        self.chain = chain
        self.roaster = roaster
    }
}

var shops = [Shop]()

func getShops() {
    let url = Bundle.main.url(forResource: "CoffeeShops", withExtension: ".csv")
    if let url {
        do {
            let data = try String(contentsOf: url)
            let allRecords = Array(data.components(separatedBy: "\n"))
            let records = Array(allRecords.dropFirst())

            for record in records {
                let columns = Array(record.components(separatedBy: ","))
                let newShop = Shop(name: columns[0],
                                   address: columns[1],
                                   instagram: columns[2],
                                   website: columns[3],
                                   phone: columns[4],
                                   local: Bool(columns[5]) ?? false,
                                   chain: Bool(columns[6]) ?? false,
                                   roaster: columns[7])
                shops.append(newShop)
            }
            print(shops)

        } catch {
            print(error.localizedDescription)
        }

    }
}