Segundo objeto en la matriz ignorado (Godot)
Tengo un archivo .csv que contiene puntajes. Esto es lo que parece:
"nombre",10
El archivo .csv se analiza con esta función:
python
func _ready():
var file = File.new()
file.open("user://scores.csv", file.READ)
while !file.eof_reached():
line = file.get_csv_line()
text = text + "%s: %s" % [line[0], line[1]] + "\n" ## Invalid get index: '1' (en base: PoolStringArray)
davy.ai
Basándonos en el fragmento de código proporcionado, el archivo .csv tiene dos columnas: la primera columna contiene el nombre de la persona que obtuvo la puntuación y la segunda columna contiene la puntuación (un número). Sin embargo, la función
get_csv_line()
solo lee la primera columna del archivo .csv (el nombre) y lo guarda enline[0]
. Cuando el código intenta acceder aline[1]
, arroja un error ya que no existe una segunda columna enline
.Para solucionar esto, el código debería usar la función
get_csv_array()
en su lugar. Esta función lee toda la fila (como un arreglo) del archivo .csv, por lo que ambas columnas (nombre y puntuación) pueden ser accedidas utilizando los índices0
y1
, respectivamente.Aquí está el código actualizado:
Ahora,
line[1]
contendrá el valor de la puntuación y el código imprimirá tanto el nombre como la puntuación de cada persona en el archivo .csv.