2016-07-26 9 views
0

Ich habe einige Tabulatorzeichen getrennte Werte in einer Liste suchen etwas wie folgt aus:Charakter nur auf spezifische Vorkommen

A B C|D E F|G|H|I J|K|L M N 
1 2 3|4 5 6|7|8|9 1|2|3 4 5 

Ich möchte das erste Vorkommen ersetzen „|“ in der fünften Spalte, so dass der Ausgang

A B C|D E F G|H|I J|K|L M N 
1 2 3|4 5 6 7|8|9 1|2|3 4 5 

Gibt es wird trotzdem kann ich ersetzen, wie line.replace („|“, „\ t“, 1), aber macht es dies nur tun, auf einem bestimmten Säule?

Antwort

3

One way:

line = 'A\tB\tC|D\tE\tF|G|H|I\tJ|K|L\tM\tN' 
columns = line.split('\t') 
columns[4] = columns[4].replace("|", "\t", 1) 
new_line = '\t'.join(columns) 
print(new_line) # Output: A B C|D E F G|H|I J|K|L M N