Comment attribuer des colonnes de données pour les variables
Je suis en train d'écrire un programme général à lire et l'intrigue de grandes quantités de données .les fichiers txt. Chaque fichier a un nombre différent de colonnes. Je sais que chaque fichier a 8 colonnes qui ne m'intéresse pas, donc je peux comprendre le nombre de colonnes de cette façon. Comment puis-je lire les données et de tri de chaque colonne de données dans une variable distincte?
C'est ce que j'ai à ce jour:
datafile = 'plotspecies.txt'
with open(datafile) as file:
reader = csv.reader(file, delimiter=' ', skipinitialspace=True)
first_row = next(reader)
num_cols = len(first_row)
rows = csv.reader(file, delimiter = ' ', quotechar = '"')
data = [data for data in rows]
num_species = num_cols - 8
J'ai vu des gens dire que les pandas est bon pour ce genre de chose, mais je n'arrive pas à l'importer. Je préfère une solution sans.
Que voulez-vous trier exactement?
Les données de chaque colonne, de sorte que je peux travailler avec chaque espèce comme une variable unique.
Pouvez-vous donner un exemple d'une ligne? Ou nous donner des détails sur le fichier? Il est très difficile de répondre sans que.
Ce genre de détails dont vous avez besoin? Les fichiers sont des milliers de lignes, avec 8 colonnes non pertinents et d'un nombre variable de ceux qui sont utiles.
Juste une colonne qui affiche le séparateur et si oui ou non il y a une ligne d'en-tête serait très utile.
Les données de chaque colonne, de sorte que je peux travailler avec chaque espèce comme une variable unique.
Pouvez-vous donner un exemple d'une ligne? Ou nous donner des détails sur le fichier? Il est très difficile de répondre sans que.
Ce genre de détails dont vous avez besoin? Les fichiers sont des milliers de lignes, avec 8 colonnes non pertinents et d'un nombre variable de ceux qui sont utiles.
Juste une colonne qui affiche le séparateur et si oui ou non il y a une ligne d'en-tête serait très utile.
OriginalL'auteur evtoh | 2016-06-10
Vous devez vous connecter pour publier un commentaire.
Pandas est en effet la bonne solution ici. Le problème est que, pour robuste poignée de quelque chose où vous n'êtes pas certain de la structure sous-jacente, il y a beaucoup de cas de bord que vous avez à regarder dehors pour, et en essayant de chausse-pied dans le
csv
module est une recette pour des maux de tête (même si il peut être fait)Autant que pourquoi vous ne pouvez pas importer des
pandas
la raison en est qu'il ne vient pas avecpython
par défaut. L'une des choses les plus importantes à considérer lors de la sélection d'une langue est l'écosystème de paquets, il vous donne accès à l'. Python se trouve être l'un des meilleurs dans le respect, donc à ignorer tout ce qui n'est pas une partie de standard de python, c'est ignorer la meilleure partie de la langue.Si vous êtes sur un environnement windows, vous devez commencer par obtenir
conda
mis en place. Cela vous permettra de facilement explorer beaucoup de paquets disponibles pour python avec peu de surcharge. Cela comprendpandas
, qui est en fait la bonne façon de gérer ce problème. Voir ce lien pour plus d'informations sur l'installation des conda: http://conda.pydata.org/docs/install/quick.htmlUne fois que vous êtes arrivé
pandas
installé c'est aussi simple que cela:Facile que.
Si vous avez vraiment, vraiment ne voulez pas utiliser des choses qui ne sont pas en core python, vous pouvez le faire avec quelque chose comme ce qui suit, mais vous n'avez pas donné assez de détail pour une solution réelle:
La moins intuitive de cette pièce est la dernière ligne, voici donc un petit exemple pour vous montrer comment cela fonctionne:
Si vous êtes sur OS X, vous n'avez pas à s'embêter avec
conda
. Utilisez simplementpip
. Je trouve pip à être beaucoup plus facile et moins de tracas queconda
. pip.pypa.io/fr/stable/installationSi j'utilise pip, il renvoie un message d'erreur disant que je n'ai pas la permission.
J'ai installé les pandas (en quelque sorte). Merci pour vos conseils!!!
OriginalL'auteur Slater Victoroff
Bien, vous pouvez utiliser le module csv fourni il y a une sorte de séparateur dans les lignes qui définit les colonnes de l'appart.
OriginalL'auteur Ev. Kounis