🌸 수강한 강의 🌸
Ch09. 예제를 위해 xlsx 샘플을 제작합시다 - 02. 코드 살펴보기, 예제를 위해 엑셀 파일 서식 변조하기, 알고리즘 순서도
Ch10. 서식이 같은 엑셀 파일끼리 병합합니다 - 01. 코드 실행, 결과 확인, 설계 과정
Ch10. 서식이 같은 엑셀 파일끼리 병합합니다 - 02. 파이썬 기술 살펴보기(헤더 분석, 헤더 분리, 데이터 스태킹, 헤더 인덱싱)
안녕하세요!!
4주차 2번째 시간입니다.
이번 시간에는 서식이 같은 엑셀 파일을
병합하는 방법에 대해 주로 배웠습니다.
| 설계과정
1. 목표 정하기
(1) personal_info 폴더 내부의 파일을 하나씩 읽어와 헤더를 분석한다.
(2) 파일의 데이터를 불러와 헤더의 종류별로 정리하여 쌓아둔다.
(3) 모든 파일에 대한 분석이 끝났다면 헤더별로 파일을 출력한다.
2. 목표를 달성하기 위해 필요한 작업들
(1) personal_info 폴더 안의 내용물을 목록으로 만들기 - os.listdir()
(2) 목로 안의 내용물을 처음부터 끝까지 훑으며, 한 개씩 파일 읽어오기 - for
(3) 읽어온 파일에서 내용물 뽑아내기 - 인덱싱, 슬라이싱
(4) 리스트를 엑셀 파일로 저장하기 - ps.save_as()
(5) 데이터를 분석해 헤더의 종류별로 쌓아두기
| 리스트 인덱싱
강의에 대한 정보는 아래 링크를 참고해 주세요!
In [1]: a= [1,2,3,4,5,6,7]
In [2]: a
Out [2]: [1,2,3,4,5,6,7]
이렇게 리스트 a를 출력하면 위와 같은 결과가 나온다.
In [3]: a.index(4)
Out [3]: 3
a 리스트에서 4가 저장되어 있는 인덱스를 알고 싶다면 다음과 같이 a.index(4)라고 입력함으로써 그 인덱스 값을 찾을 수 있다. 이 기능을 잘 사용하면 길거나 복잡한 리스트에서 원하는 정보가 위치한 곳을 찾을 수 있다.
| 헤더 분리
먼저, 엑셀 파일을 리스트로 변환할 수 있다. 따라서 엑셀 파일을 리스트 형식으로 나타냈다고 가정하자.
In [4]: a=[["이름","나이", "이메일"],["홍길동","24","asdf@kmail.com"]]
헤더를 분리하고 싶다면 인덱스 번호를 사용해서 분리할 수 있다.
In [5]: a[0]
Out [5]: ['이름','나이','이메일']
컨텐트 부분도 인덱스가 0이 아닌 값을 입력하게 되면 분리할 수 있다. 이 예제에서는 a[1]을 하면 된다.
하지만 컨텐트 부분을 분리할 때 보통 엑셀에 넣을 정보들은 단순히 한개가 아닌 여러개 일텐데 이렇게 a[1]을 통해 분리한다면 하나의 정보만을 불러오게 될 것이므로 나머지 정보들은 날아가게 된다. 이러한 경우를 피하기 위해서 아래와 방법을 활용하여 컨텐트 부분을 분리할 수 있다.
| 슬라이싱
In [7]: a=[["이름","나이", "이메일"],["홍길동","24","asdf@kmail.com"],["김길동","21","reqw@kmail.com"]]
In [8]: a
Out [8]:
[["이름","나이", "이메일"],["홍길동","24","asdf@kmail.com"],["김길동","21","reqw@kmail.com"]]
In [9]: a[1]
Out [9]: ["홍길동","24","asdf@kmail.com"]
In [10]: a[1:]
Out [10]: [["홍길동","24","asdf@kmail.com"],["김길동","21","reqw@kmail.com"]]
슬라이싱을 하면 인덱싱 1 이후의 모든 값들을 함께 분리하여 출력할 수 있다.
현재 수강하는 강의 👇
6개월 치 업무를 하루 만에 끝내는 업무자동화 올인원 패키지 Online. 👉 https://bit.ly/3pIrVoN
'리뉴얼 예정 > 업무자동화' 카테고리의 다른 글
[업무자동화] 4주차 (1) 인코딩과 xlsx 샘플 제작 (0) | 2021.03.13 |
---|---|
[업무자동화] 3주차 (2) 서식을 갖춘 csv 파일로 합치기 (0) | 2021.03.07 |
[업무자동화] 3주차 (1) 텍스트파일 합치기 (0) | 2021.03.06 |
[업무자동화] 2주차 (2) 인물 개인정보 랜덤 생성하기 (2) | 2021.02.28 |
[업무자동화] 2주차 (1) 함수와 클래스, 그리고 자동화의 시작 (0) | 2021.02.27 |