Я хотел бы проанализировать данные с помощью «tab delimited» и хотел бы заменить определенную строку в данных.Форматирование данных с использованием python
входного файла: VI foo.txt:
Bob lives in%3a Boston
Sam lives in Houston
Jay lives in Ruston
Bill lives in Atlanta
Это то, что я придумал: VI foo.py:
import re
fin = open("foo.txt")
fout = open("bar.txt", "w")
for line in fin.readlines():
fout.write('\t'.join(line.split())+'\n') # parse data with tab delimited
for line in fin.readlines():
fout.write(re.sub('%3a',':',line)) # substitute string with regex
VI bar.txt:
Bob lives in%3a Boston
Sam lives in Houston
Jay lives in Ruston
Bill lives in Atlanta
Почему% 3a все еще находится на выходе, а не ':'?
Спасибо,
Rio
Я не знаю, что вы хотите сделать с 2-мя петли, но вам нужно сбросить указатель на файл перед вторым циклом с 'fin.seek (0) ', тогда вы увидите 8 строк вместо 4 - у первого набора будет'% 3a', а у второго будет ':' – karthikr