python3 전화번호 파일 만들고 자르기
글쓴이: 세벌 / 작성시간: 월, 2016/11/21 - 5:25오전
전화번호만 죽 있는 파일에 형식을 몇개 넣고 커다란 파일을 여러개로 자르는 예제
제가 필요해서 여러분의 도움과 인터넷 검색을 통해 만든 것 정보 공유합니다. 초보라 어설픈 부분도 있지만 누군가에게 도움이 되리라 생각해서 올립니다. 더 깔끔한 방법 아시면 댓글로 알려주시며 감사.
전화번호만 있는 파일에 형식 넣기
def f(f_in, f_out): for line in f_in: stripped_line = line.strip() print("name" + "," + "name2" + "," + stripped_line, file=f_out) fin=open("tel000.csv","r") fout=open("formtel.csv","w") f(fin, fout)
커다란 파일을 여러개로 자르기
myfile='formtel.csv' lsline=[] with open(myfile,'r') as rf: for row in rf: lsline.append(row) outCount=1 lCnt=0 LPF=1000 # line per file LeftLine=True while LeftLine: cnt=0 incr=(outCount-1) * LPF left= len(lsline) - incr # fName="mtel" + str(outCount*LPF) + ".csv" fName="mtel" + str(outCount) + ".csv" newLine=[] if left < LPF: while cnt< left: newLine.append(lsline[lCnt]) cnt +=1 lCnt+=1 LeftLine=False else: while cnt< LPF: newLine.append(lsline[lCnt]) cnt +=1 lCnt+=1 outCount+=1 with open(fName,'w') as wf: wf.write("name1,name2,tel\n") for row in newLine: wf.write(row)
Forums:
흠
만족스러울 만큼 깔끔한지 아닌지는 보는 사람 기준에 따라 다르겠지요.
저도 한 번 해 봤습니다.
그런 그렇고, "커다란 파일을 여러개로 자르기"를 최대한 파일 전체를 한번에 읽어들여 리스트로 만들지 않고 해 보려고 했는데, 생각대로 잘 됐는지 모르겠네요.
게다가 라인 수를 미리 세고 시작할 수가 없어서 empty라는 변수를 도입한데다가, 맨 뒤에 빈 파일이 하나 생기는 걸 막을 방법이 마땅치 않습니다. -_-;;
댓글 달기