2010-06-17 4 views
1

Je souhaite ajouter une colonne de données dans un fichier.Python - ajoute une colonne à un fichier séparé par tabulation existant

Le fichier comporte actuellement trois colonnes délimitées par des tabulations.

abbd 1234 0.987 
affr 2345 0.465 

J'ai une liste de longueur 8 800 comprenant des flotteurs.

li = [-1.0099876, 34.87659] 

Je souhaite ajouter cette liste en tant que quatrième colonne au fichier.

abbd 1234 0.987 -1.0099876 

Remarque - mon fichier est ouvert en mode r +.

Merci, S :-)

+2

Mieux vaut créer un nouveau fichier à partir des données d'entrée, puis remplacer un fichier plus ancien si nécessaire. – MattH

Répondre

3
import fileinput 

for fl, line in zip(li, fileinput.input(['a.txt'], inplace=True)): 
    print(line.strip() + '\t' + str(fl)) 
1

Je suis avec des opérations Matth, en place sont généralement une mauvaise idée. L'approche alternative pourrait être:

import itertools 

def add_column(lines, values, column_delimiter="\t"): 
    for line, value in itertools.izip(lines, values): 
     yield line.rstrip() + column_delimiter + str(value) 

li = [-1.0099876, 34.87659] 
for line in add_column(open("a.txt"), li): 
    print line 
Questions connexes