Comment lire le tableau de données de la colonne par colonne dans un txt en python
donc en gros j'ai besoin de lire un fichier et d'afficher le résultat de la colonne par colonne, et l'exemple d'entrée et de sortie est indiqué ci-dessous, avec mon code.
c'est le fichier txt:
Name ID City Favorite Fruit
Benjamin 5 Copenhagen kiwi
Tom 100 Kingston "watermelon, apple"
Rosemary 20 Philadelphia "pineapple, mango"
Annie 95 East Setauket "blueberry, hawthorn"
Jonathan 75 Ithaca cherry
Kathryn 40 San Francisco "banana, strawberry"
et c'est la sortie:
Number of rows: 7
Number of columns: 4
Column 0: Name
1 Annie
1 Benjamin
1 Jonathan
1 Kathryn
1 Rosemary
1 Tom
Column 1: ID
1 5
1 20
1 40
1 75
1 95
1 100
Column 2: City
1 Copenhagen
1 East Setauket
1 Ithaca
1 Kingston
1 Philadelphia
1 San Francisco
Column 3: Favorite Fruit
1 "banana, strawberry"
1 "blueberry, hawthorn"
1 "pineapple, mango"
1 "watermelon, apple"
1 cherry
1 kiwi
et le ci-dessous mon code, je me suis coincé à la façon d'imprimer le tableau de la colonne par colonne:
import sys
def main():
alist =[]
data = open("a1input1.txt").read()
lines = data.split('\n')
totalline =len(lines)
print ("Number of low is: " + str(totalline))
column = lines[0].split('\t')
totalcolumn = len(column)
print ("Number of column is: " + str(totalcolumn))
for index in range(totalline):
column = lines[index].split('\t')
print (column)
main()
ci-dessous est ce que j'ai fait: newlist.sort(), le nom de la colonne est triée, mais la colonne ID n'est pas. toutes ces vallées de la lecture d'un fichier txt. Je ne comprends pas pourquoi seule la colonne ID n'est pas triée?
Column 0: Name
Annie
Benjamin
Jonathan
Kathryn
Rosemary
Tom
Column 1: ID
100
20
40
5
75
95
J'ai essayé de convertir la chaîne de caractères à l'aide de la "str()", mais le résultat est le même
- Est-ce devoirs?
- oui, j'ai juste besoin de quelqu'un pour me pointer dans la bonne direction, je ne sais pas où aller à partir d'ici, comment les lire ou de les séparer par colonne
- Sont-ils séparés par des tabulations ou des espaces?
- les colonnes sont séparées par des tabulations, les lignes sont en ligne
- Vous devez le dire à votre enseignant hors pour l'utilisation incohérente de la syntaxe. Une colonne est enfermé dans des espaces s'il contient un espace et un autre ne l'est pas.
- Je souhaite pouvoir, elle aura la peau me font vivre. LOL
- si j'étais un professeur, et je voulais que mes étudiants à réfléchir sur les séparateurs -- en particulier, de distinguer entre l'espace et l'onglet -- je pourrais aussi utiliser incompatible syntaxe. Rend plus facile de dire que quelqu'un a eu tort.
Vous devez vous connecter pour publier un commentaire.
Un autre indice... Si vous souhaitez effectuer une itération sur les colonnes au lieu de lignes, de transposer les données à l'aide de
zip
. Je vais le laisser jusqu'à vous pour obtenir les données dans le bon format:De sortie
Ci-dessus suppose Python 3 en juger par votre utilisation de
print()
comme une fonction...Vous pouvez utiliser python intégré csv module et vous épargner beaucoup de méchant à la recherche de code.
Cela vous donnera un objet que vous pouvez parcourir pour obtenir un dict des valeurs.
et vous pouvez obtenir une liste des en-têtes
Ok, voici quelques conseils:
sort
.print(wholelist.sort)
reproduit votre erreur. Aussi,sort
est une méthode et retourne Aucun, afin de l'utiliserwholelist.sort()
paswholelist=wholelist.sort()
.