Actuellement, je travaille sur un code de bataille navale pour mon projet de calcul avancé avancé et j'en suis au dernier obstacle. J'essaie d'importer un fichier CSV nommé "leaderboard.csv" qui contient deux colonnes avec des en-têtes dans le fichier csv (Names and Shots) les données à l'intérieur ressemble à ceci.Problème avec l'importation de deux colonnes dans un fichier CSV vers deux tableaux différents
Noms - Tirs
Nom1 - 19
Nom2 - 24
ainsi de suite ... - ...
Cette section du code prend dans les données et stocke tous les noms dans aNames [] puis tous les coups dans aShots [] Cela fonctionne comme prévu pour aNames tous les noms sont stockés dans le tableau et je peux alors travailler avec eux cependant le tableau aShots est complètement vide et c'est le même code plus ou moins avec le titre changé et c'est tout. Le code ressemble à ceci.
def ChangeFileToArray():
from csv import DictReader
with open("leaderboard.csv") as f:
#Where "Names" and "Shots" are the names of the headings in the CSV file.
aNames=[row["Names"] for row in DictReader(f)]
aShots=[row["Shots"] for row in DictReader(f)]
f.close
return aNames, aShots
La sortie du fichier est comme après tout le fluff précédent.
[ 'Name1', 'Nom2', 'Nom3', 'Nom4']
[]
J'ai regardé ma solution avant et beaucoup de gens disent utiliser solution pandas mais ce n'est pas une option pour moi malheureusement. Je préférerais de préférence le conserver dans le module csv (importé). Merci d'avance.
Il n'y a plus rien à lire dans 'f' après votre première compréhension de la liste. – fenceop
Ce n'est pas tout le fichier csv cependant, tous les coups sont dans le fichier csv intacts ou je ne comprends pas ce que f est. – Robalineo
Essayez d'ajouter 'f.seek (0)' avant votre seconde compréhension. – fenceop