2017-10-20 5 views
0

Je suis tentant de créer une liste de listes. Donc, je veux mettre chaque ligne de texte dans une liste séparée dans la liste de climat.Ce qui est faux avec ma liste d'itération de listes de csv

Ceci est mon code:

import re 
with open('klimaat].txt', 'r') as file: 
    reading = re.split('\n', file.read()) 
    climate = [reading[i:i+4] for i in range(18, len(reading) - 1,10)] 

print(climate) 

https://pastebin.com/jXxnPsQA

Je ne sais pas pourquoi il faut plus de 4 cordes dans ma liste. Si j'imprime des lectures [someindex] j'obtiens exactement cette ligne.

Des suggestions?

Répondre

0

Essayez:

content = [] 
with open(fname) as f: 
    content.append([f.readline()]) 

également comme une doublure:

content = [[line] for line in open('fname')] 

Notez que '\n' peut être retiré avec str.rstrip('\n'). Vous pouvez encore poster traiter vos lignes afin de laisser tomber toutes les lignes vides (par exemple, des lignes qui ne contiennent que '\n') ou l'insérer comme une instruction if dans la compréhension de la liste:

content = [[line] for line in open('fname') if line != '\n'] 
+0

Salut Sky Merci pour votre aide! Je dois juste trouver comment obtenir cette fonction de striping à travers toutes mes listes, mais je suis allé plus loin de cette façon. – zorange