2012-08-21 3 views
0

J'essaie de lire dans un fichier txt avec le suppresseur "|", puis d'extraire les deuxième et troisième variables. afin que les données ressemble à ceci:lire | Supprimer le fichier et extraire la variable en Python

a|bb|cc| 
aaa|b|cccc| 

et je veux créer un données avec la deuxième et troisième variable:

bb cc 
b cccc 

des suggestions?

Merci!

Répondre

2
with open("data.txt") as f: 
    for line in f: 
     col2, col3 = line.split('|')[1:3] # get 2nd and 3rd column 
     print col2, col3 # this could be written to a file if needed 

vous donnera

bb cc 
b cccc 

data.txt est votre fichier de données.

Explication:

Vous avez lu le fichier, ligne par ligne, split chaque ligne avec le séparateur | et imprimer les 2e et 3e élément sur chaque ligne. Ces données pourraient également être écrites dans un fichier, ou manipulées plus loin.

+0

@ utilisateur1615275 a mis à jour ma réponse pour tenir compte des nouvelles lignes qui n'étaient pas apparentes dans votre message original avant la modification. – Levon

+0

Et pour faire bonne mesure, peut-être ajouter un test sur la longueur de la ligne quelque part afin de ne pas lever un 'IndexError'? –

+0

@PierreGM Oui, je suis d'accord avec vous que ce serait une bonne idée, mais puisque OP a indiqué et fourni un jeu de données régulier et n'a pas mentionné la possibilité d'irrégularités, cela répond à leurs exigences avec les données données (mais bien sûr facilement ajustable si OP indiqué autrement). Merci pour la suggestion, voyons si nous entendons de OP – Levon

0

Utilisez le module csv avec un dialecte approprié, puis découpez la liste résultante par ligne et affichez-la.

0

Vous pouvez utiliser le module csv. Simple et élégant.

2

utiliser le module csv

import csv 
input = csv.reader(open('your_file.txt', 'rb'),delimiter="|") 
for row in input: 
    print row[1:] 

Ceci imprime chacune des autres valeurs dans chaque ligne en dehors de la première. Vous feriez bien sûr tout ce que vous vouliez faire à la place où j'ai imprimé.

Questions connexes