2021. 3. 2. 23:59ㆍ카테고리 없음
패스트캠퍼스 6개월 치 업무를 하루 만에 끝내는 업무자동화 올인원 패키지 Online
학습강의
텍스트 파일 1천개 CSV 합치기
서식을 갖춘 CSV - 코드 1
서식을 갖춘 CSV - 코드 2
csv 파일로 앞서 배운걸 사용해서 깔끔하게 만들기
표에서 열 구분은 컴마(,)로 구분
행은 엔터로 구분할 수 있다(줄바꿈)
ex)
이름, 나이, 직업, 성별 열(,)
반병현, 28, 농부, 남성 행(엔터,줄바꿈)
확장자를 csv 변경하면 엑셀파일로 바뀐다.
(메모장 입력시 스페이스 바로 간격을 일정하게 유지하는게 좋다)
양식을 갖춰 csv 파일 만들기
윗줄에 있는 파일은 헤더라고 한다.
: 기준으로 왼쪽에 있는 건 헤더
오른쪽에 있는걸로 구분한다.
목표
- 결과값을 csv 로 생성한다
- csv파일에 헤더를 만든다
- 1000개의 파일안에 내용을 하나씩 읽어와서 정렬한다.
- 정렬된 내용을 결과값 파일로 옮긴다
- 종료
첫 줄에만 헤더를 삽입하고 그 다음 줄에는 콘텐츠만
header = false
outfile = open("result.csv",'w')
for el in files:
if not header:
outfile.write(헤더)
header = true
헤더가 포스라고 정의하고, 아웃파일을 csv로 만들고 포 문을 돌릴때 만약 헤더 값이 없다면 아웃파일 쓰기모드로 실행하여 헤더 값을 넣어주고 헤더값이 참이 되었다면 다시 돌아간다.
코드
directory = "personal_info"
outfile_name = "merged_ID.csv"
out_file = open(outfile_name, 'w')
input_files = os.listdir(directory)
headers = []
outfile_has_header = false
정의한 변수, [] 헤더에 쓸 데이터를 넣기 위해 만든 공간
for filename in input_files:
퍼스널 인포안에 있는 인풋파일을 파일네임이라는 변수에 저장한다.
if ".txt" not in filename:
continue
오류 방지를 위해 예외처리를 해준다 txt가 아닌 파일을 걸려내준다.
텍스트 파일이 맞다면 불러온다
file = open(directory + "/" + filename)
contents = []
비어있는 내용 데이터를 저장한다.
split
a = a, b, c, d
a.split()
결과값 'a', 'b', 'c', 'd'
() 괄호 안이 비어있으면 스페이스를 기준으로 쪼개진다
c = a : b
c.split( : )
결과값 'a','b'
괄호 안에 들어간 땡땡 기준으로 쪼개진다
괄호 안에 들어간 것을 기준으로 오른쪽과 왼쪽으로 나눠주게 된다.
strip
strip()
a = " bbb "
a.strip()
결과값 bbb
스페이스 바를 벗겨준다, 데이터 중간에 있는 띄워쓰기는 보존하고 오른쪽과 왼쪽 끝에 있는 것만 벗길 수 있다.