class_name CSVLoader static func load(csv_text: String) -> Array[Dictionary]: var rows: Array[Dictionary] = [] var lines := csv_text.strip_edges().split("\n") if lines.size() < 2: return rows var headers := lines[0].split(",") for i in range(1, lines.size()): var line := lines[i].strip_edges() if line.is_empty(): continue var values := line.split(",") if values.size() != headers.size(): push_warning( "CSV row %d has %d columns, expected %d" % [i + 1, values.size(), headers.size()] ) continue var row: Dictionary = {} for j in range(headers.size()): row[headers[j].strip_edges()] = values[j].strip_edges() rows.append(row) print(rows) return rows