Мне нужно было прочитать из файла, и для каждого типа данных между разделителями мне нужно удалить пробел, и я написал следующую программу на jython
Когда я пытаюсь переписать, его переписать в конце исходного файла.
filesrc = open('c:/FILE/split_doc.txt','r+')
for list in filesrc.readlines():
#split the records by the delimiter
fields = list.split(',')
list = ",".join([s.strip() for s in fields])
filesrc.writelines(list+"\n")
filesrc.close()
Итак, я сделал некоторую модификацию и добавил file.seek, чтобы я мог переписать строки исходного текста, и это работало до некоторой степени, за исключением того, что он добавил две дополнительные строки в конце, что означает некоторую проблему с поиском
Модифицированная программа
filesrc = open('c:/ODI_FILE/split_doc.txt','r+')
lines=0
for list in filesrc.readlines():
#split the records by the delimiter
fields = list.split(',')
list = ",".join([s.strip() for s in fields])
filesrc.seek(lines)
filesrc.writelines(list+"\n")
lines += len(list+"\n")
filesrc.close()
Пожалуйста, помогите мне с правильной логикой.
Правильный исходный файл с лишними пробелами
52 ,William ,Kudo ,28/03/199300:00:00
11,Andrew, Andersen,22/02/199900:00:00
12,John ,Galagers,20/04/200000:00:00
13,Jeffrey ,Jeferson,10/06/198800:00:00
20,Jennie,Daumesnil,28/02/198800:00:00
21,Steve,Barrot,24/09/199200:00:00
22,Mary,Carlin,14/03/199500:00:00
30,Paul,Moore,11/03/199900:00:00
Это мой неправильный вывод
52,William,Kudo,28/03/199300:00:00
11,Andrew,Andersen,22/02/199900:00:00
12,John,Galagers,20/04/200000:00:00
13,Jeffrey,Jeferson,10/06/198800:00:00
20,Jennie,Daumesnil,28/02/198800:00:00
21,Steve,Barrot,24/09/199200:00:00
22,Mary,Carlin,14/03/199500:00:00
30,Paul,Moore,11/03/199900:00:00
9500:00:00
30,Paul,Moore,11/03/199900:00:00
здесь последние две строки не должны были прийти
Пожалуйста, предложите требуемый и более быстрый способ, так как это пример файла, и мне нужно, чтобы эта программа работала для миллионов строк.
Есть ли способ заставить эту логику работать с циклом while?