[패스트캠퍼스 수강후기] 업무자동화강의 100% 환급 챌린지 5회차 미션

2021. 3. 2. 23:59카테고리 없음

패스트캠퍼스 6개월 치 업무를 하루 만에 끝내는 업무자동화 올인원 패키지 Online

 

 

학습강의

텍스트 파일 1천개 CSV 합치기

서식을 갖춘 CSV - 코드 1

서식을 갖춘 CSV - 코드 2

 

 

https://bit.ly/3pIrVoN

 

6개월 치 업무를 하루 만에 끝내는 업무자동화 | 패스트캠퍼스

대한민국 직장인, 개인 사업자 여러분! 오늘도 귀찮은 반복 업무에 스트레스 받으셨나요? 6개월 치 업무를 하루 만에 끝낸 '카이스트 공익'이 여러분의 칼퇴를 도와 드립니다! 여러 정부기관과

www.fastcampus.co.kr

 

 

csv 파일로 앞서 배운걸 사용해서 깔끔하게 만들기

 

표에서 열 구분은 컴마(,)로 구분
행은 엔터로 구분할 수 있다(줄바꿈)

ex)

이름, 나이, 직업, 성별 열(,)
반병현, 28, 농부, 남성 행(엔터,줄바꿈)

확장자를 csv 변경하면 엑셀파일로 바뀐다.

(메모장 입력시 스페이스 바로 간격을 일정하게 유지하는게 좋다)

 

 

양식을 갖춰 csv 파일 만들기

 

윗줄에 있는 파일은 헤더라고 한다.

: 기준으로 왼쪽에 있는 건 헤더
오른쪽에 있는걸로 구분한다.

 

목표

 

  1. 결과값을 csv 로 생성한다
  2. csv파일에 헤더를 만든다
  3. 1000개의 파일안에 내용을 하나씩 읽어와서 정렬한다.
  4. 정렬된 내용을 결과값 파일로 옮긴다
  5. 종료

 

첫 줄에만 헤더를 삽입하고 그 다음 줄에는 콘텐츠만

 

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

 

스페이스 바를 벗겨준다, 데이터 중간에 있는 띄워쓰기는 보존하고 오른쪽과 왼쪽 끝에 있는 것만 벗길 수 있다.