removetab.py


한 디렉토리 안에 있는 모든 데이터파일을 읽어서 중복된 tab을 없애고 다른 확장자로 저장하는 코드. python을 완전 잘하는 편이 아니어서 그냥 기초적인 방법으로 주욱주욱 만들었음...


import glob


Flist = glob.glob('*.txt')


OldExt = 'txt'

NewExt = 'dat'


for i in range(len(Flist)):

#Flist is str class !!!

fr = open(Flist[i], 'r')

fwriteName = Flist[i].replace(OldExt, NewExt)

fw = open(fwriteName, 'a')

print(Flist[i], "to", fwriteName)

ContentL = fr.readlines()

for j in range(len(ContentL)):

rowL = ContentL[j]

rowL = rowL.split('\t')

TabCnt = rowL.count('')

for k in range(TabCnt):

rowL.remove('')

#Change list to str with \t delimiter

rowStr = "\t".join(rowL)

fw.write(rowStr)


Class가 list인지 str인지에 따라 쓰이는 함수(method)가 다르기 때문에 꽤나 헷갈린다. 자주 다루지 않다보니 벌어지는일! 아무튼 이렇게 하면 중복된 tab을 없앨 수 있다. 


주의!!

용량이 큰 데이터파일들의 tab을 지워야 할 경우 이 프로그램은 컴터를 넉다운시킬수 있다. 왜냐면 readlines()로 그냥 한번에 주욱 읽어서 리스트로 저장하기 떄문이다... 메모리관리는 전혀 신경쓰지 않았는데 지금 다루는 데이터파일들 용량이 작은편이어서이다.ㅋㅋㅋ



+ Recent posts