한 디렉토리 안에 있는 모든 데이터파일을 읽어서 중복된 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()로 그냥 한번에 주욱 읽어서 리스트로 저장하기 떄문이다... 메모리관리는 전혀 신경쓰지 않았는데 지금 다루는 데이터파일들 용량이 작은편이어서이다.ㅋㅋㅋ
'Study > Computer' 카테고리의 다른 글
matplotlib에서 자주쓰는 옵션들 정리(진행중) (0) | 2012.10.22 |
---|---|
파일들을 gnuplot으로 한꺼번에 그리기 (0) | 2012.10.03 |
ssh 접속이 안될때 (0) | 2012.09.21 |
Ubuntu superuser 추가하기 (0) | 2012.09.20 |
Linux Backup 때 챙기는 파일들 (0) | 2012.09.20 |