SlideShare a Scribd company logo
1 of 235
Download to read offline
Kyunghoon Kim, 2021
স‫ޖ‬ ੗‫ز‬ച
~ ౵੉ॆ ೐‫۽‬Ӓ‫߁ې‬ਵ‫۽‬ ૑‫ܖ‬ೠ ੘স ੗‫ز‬ചೞӝ
https://core.today
3
교재
‫ܐޖ‬ ebook : https://automatetheboringstu
ff
.com/
https://core.today
4
목차
1. 정규표현식으로 패턴 대조하기

2. 파일 읽고 쓰기

3. 파일 체계화하기

4. 웹 스크랩

5. 엑셀 스프레드시트로 작업하기

6. PDF 및 Word 문서로 작업하기

7. CSV 파일 및 JSON 데이터로 작업하기

8. 시간 관리, 작업 예약 그리고 다른 프로그램 실행

9. 이메일 및 문자 메시지 보내기
1. 정규표현식으로 패턴 대조하기
https://core.today
6
정규표현식으로 패턴 대조하기
• 정규표현식 없이 텍스트 패턴 찾기

• 정규표현식으로 텍스트 패턴 찾기

• 정규식 객체 만들기

• 원시 문자열을 re.compile()에 전달하기

• Regex 객체 대조

• 정규표현식을 사용한 더 많은 패턴 대조

• 괄호로 묶기

• 파이프로 여러 그룹 대조하기

• 물음표와 선택적 대조

• 별표로 0개 또는 그 이상과 일치시키기

• 더하기 기호로 하나 또는 그 이상과 일치시키기

• 중괄호로 특정 횟수 반복 일치시키기

• 최대 일치와 최소 일치

• findall() 메소드

• 문자 클래스
• 사용자 정의 문자 클래스 만들기

• 캐럿 및 달러 기호 글자

• 와일드카드 문자

• 점-별표로 모든 것을 일치시키기

• 점 문자로 줄바꿈 문자와 일치시키기

• 정규식 기호 복습하기

• 대소문자를 구분하지 않고 일치시키기

• sub() 메소드로 문자열 대체하기

• 복잡한 정규표현식 관리하기

• IGNORECASE, re.DOTALL, re.VERBOSE 결합하기

• 프로젝트 : 전화번호와 이메일 주소 추출하기


1단계 : 전화번호에 대한 정규식 만들기


2단계 : 이메일 주소에 대한 정규식 만들기


3단계 : 클립보드 텍스트에서 일치하는 모든 것을 찾기


4단계 : 일치하는 텍스트들을 하나의 문자열로 클립보드에 붙이기
https://core.today
7
정규표현식 없이 텍스트 패턴 찾기
‫੄਺׮‬ ‫ޙ‬੗ৌ੉ ޷Ҵղ ੹ചߣഐੋоਃ?

415-555-4242
https://core.today
8
정규표현식 없이 텍스트 패턴 찾기
https://core.today
9
정규표현식으로 텍스트 패턴 찾기
https://core.today
10
정규표현식으로 텍스트 패턴 찾기
https://core.today
11
정규식 객체 만들기
https://core.today
12
원시 문자열을 re.compile()에 전달하기
Remember that escape characters in Python use the backslash () . The string value 'n' represents a single newline character, not a backslash followed by a lowercase n . You
need to enter the escape character  to print a single backslash . So 'n' is the string that represents a backslash followed by a lowercase n . However, by putting an r before the
fi
rst quote of the string value, you can mark the string as a raw string, which does not escape characters .

Since regular expressions frequently use backslashes in them, it is convenient to pass raw strings to the re.compile() function instead of typing extra backslashes . Typing
r'ddd-ddd-dddd' is much easier than typing 'ddd-ddd-dddd' .
https://core.today
13
Regex 객체 대조
• Regex 객체의 search() 메소드는 전달되는 문자열이 정규식과 일치하는지 검색함.
• 정규식 패턴이 문자열에서 발견되지 않는다면 None을 반환함.
• 패턴이 발견되면, search() 메소드는 Match 객체를 반환함.
• Match 객체는 검색 문자열에서 실제 일치하는 텍스트를 반환하는 group() 메소드를 가짐.
https://core.today
14
정리
1. import re 로 정규식 모듈을 가져옴.
2. Re.compile() 함수로 Regex 개체를 만듬.
3. 검색할 문자열을 Regex 객체의 search() 메소드로 전달함.


이렇게 하면 Match 객체를 돌려 받음.


4. Match 객체의 group() 메소드를 호출해서 실제 일치하는 텍스트 문자열을 돌려받음.
https://core.today
15
정규표현식을 사용한 더 많은 패턴 대조
• 전화번호에서 지역 코드를 나머지 번호로 분리하고 싶다면?
https://core.today
16
괄호로 묶기
https://core.today
17
괄호로 묶기
https://core.today
18
파이프로 여러 그룹 대조하기
• 여러 가지 표현 중 하나만 일치해도 되는 곳이라면 파이프( | )를 사용
https://core.today
19
파이프로 여러 그룹 대조하기
• Batman, Batmobile, Batcopter, Batbat 중 어느 것과든 일치하는 것을 찾고 싶다?!
https://core.today
20
물음표와 선택적 대조
• 텍스트에서 어떤 조각이 있는지 없는지 여부를 대조해 보는 정규식
• ? 는 앞에 있는 그룹이 패턴의 선택적인 부분이라는 것을 지시함.
https://core.today
21
물음표와 선택적 대조
• 텍스트에서 어떤 조각이 있는지 없는지 여부를 대조해 보는 정규식
• ? 는 앞에 있는 그룹이 패턴의 선택적인 부분이라는 것을 지시함.
https://core.today
22
별표로 0개 또는 그 이상과 일치시키기
• * 는 “0개 또는 그 이상과 일치”를 말함.
• 별표 앞에 있는 그룹은 텍스트 안에서 몇 번이든 나타날 수 있음.
https://core.today
23
더하기 기호로 하나 또는 그 이상과 일치시키기
• + 는 “하나 이상과 일치”를 말함.
• 더하기 앞에 있는 그룹은 텍스트 안에서 적어도 한 번 나타나야 함.
https://core.today
24
중괄호로 특정 횟수 반복 일치시키기
• 특정한 횟수동안 반복되는 그룹은 중괄호와 횟수를 써서 표현 가능함.
https://core.today
25
중괄호로 특정 횟수 반복 일치시키기
• 중괄호의 첫 번째, 두 번째 번호를 한꺼번에 써서 최소값과 최대값을 지정할 수 있음.






• 중괄호의 첫 번째 또는 두 번째 번호를 비워서 최소값 또는 최대값을 비울 수 있음.
(Ha){3,
}

(Ha) Ӓ‫੉ܛ‬ ࣁ ߣ ੉࢚ աఋա‫ݶ‬ ੌ஖
(Ha){, 5
}

(Ha) Ӓ‫੉ܛ‬ 0ߣীࢲ 5ߣ աఋա‫ݶ‬ ੌ஖
https://core.today
26
최대 일치와 최소 일치
• 파이썬의 정규 표현식은 기본적으로 최대 일치임.


모호한 상황에서는 가능한 가장 긴 문자열과 일치함.


• 가장 짧은 문자열과 일치하기 위해서는 중괄호 뒤에 물음표를 위치시킴.
https://core.today
27
findall() 메소드
https://core.today
28
findall() 메소드
https://core.today
29
findall() 메소드
https://core.today
30
문자 클래스
‫ޙ‬੗ ௿‫ې‬झ ௿‫ې‬झ ੄޷
d 0ীࢲ 9ө૑੄ ੐੄੄ ं੗
D 0ীࢲ 9ө૑੄ ं੗ Ӗ੗о ই‫צ‬ ‫ݽ‬ٚ Ӗ੗
w ‫ޙ‬੗, ं੗ Ӗ੗, ‫חژ‬ ߃઴ Ӗ੗
W ‫ޙ‬੗, ं੗ Ӗ੗, ‫חژ‬ ߃઴ Ӗ੗о ই‫צ‬ ‫ݽ‬ٚ Ӗ੗
s ࠼஢, చ, ‫חژ‬ ઴߄Է ‫ޙ‬੗
S ࠼஢, చ, ‫חژ‬ ઴߄Է ‫ޙ‬੗о ই‫צ‬ ‫ݽ‬ٚ Ӗ੗
https://core.today
31
문자 클래스
‫ޙ‬੗ ௿‫ې‬झ ௿‫ې‬झ ੄޷
d 0ীࢲ 9ө૑੄ ੐੄੄ ं੗
D 0ীࢲ 9ө૑੄ ं੗ Ӗ੗о ই‫צ‬ ‫ݽ‬ٚ Ӗ੗
w ‫ޙ‬੗, ं੗ Ӗ੗, ‫חژ‬ ߃઴ Ӗ੗
W ‫ޙ‬੗, ं੗ Ӗ੗, ‫חژ‬ ߃઴ Ӗ੗о ই‫צ‬ ‫ݽ‬ٚ Ӗ੗
s ࠼஢, చ, ‫חژ‬ ઴߄Է ‫ޙ‬੗
S ࠼஢, చ, ‫חژ‬ ઴߄Է ‫ޙ‬੗о ই‫צ‬ ‫ݽ‬ٚ Ӗ੗
https://core.today
32
사용자 정의 문자 클래스 만들기
• 대괄호를 사용하면 사용자 정의 문자 클래스를 정의할 수 있음.
https://core.today
33
사용자 정의 문자 클래스 만들기
• 대괄호를 사용하면 사용자 정의 문자 클래스를 정의할 수 있음.
• 하이픈을 사용하면 문자 또는 숫자의 범위를 포함할 수 있음.
[a-zA-Z0-9] : ࣗ‫ޙ‬੗, ‫ޙ؀‬੗, ं੗৬ ੌ஖
https://core.today
34
사용자 정의 문자 클래스 만들기
• ^ 는 부정형 문자 클래스임.
https://core.today
35
캐럿 및 달러 기호 글자
• 검색 텍스트의 시작 부분에서 일치하는 텍스트가 나타나야 함을 ^로 표현.
https://core.today
36
캐럿 및 달러 기호 글자
• 검색 텍스트의 끝나는 부분이 정규식 패턴으로 끝나야 함을 $로 표현.
https://core.today
37
캐럿 및 달러 기호 글자
• ^ 와 $ 를 써서, 전체 문자열이 정규식과 일치해야 한다는 것을 표현.
https://core.today
38
와일드카드 문자
• . 은 줄바꿈을 제외한 모든 문자와 일치함.


한 글자와 일치함.
• 실제 점과 일치시키려면 이스케이프 함. .
https://core.today
39
점-별표로 모든 것을 일치시키기
• .* 은 줄바꿈을 제외한 어느 것이든 일치시킬 때 사용함.
https://core.today
40
점-별표로 모든 것을 일치시키기
• .* 은 줄바꿈을 제외한 어느 것이든 일치시킬 때 사용함.
https://core.today
41
점 문자로 줄바꿈 문자와 일치시키기
• re.compile()에 re.DOTALL을 두 번째 매개변수로 전달하면


점 문자가 줄바꿈 문자를 포함한 모든 글자를 일치시킴.
https://core.today
42
정규식 기호 복습하기
https://core.today
43
대소문자를 구분하지 않고 일치시키기
https://core.today
44
sub() 메소드로 문자열 대체하기
• Regex 객체의 sub() 메소드는 두 개의 매개변수를 전달함.
sub(대체할 문자열, 정규표현식과 대조할 문자열)
https://core.today
45
sub() 메소드로 문자열 대체하기
• 일치하는 텍스트 그 자체를 대체할 텍스트의 일부로 활용
https://core.today
46
복잡한 정규표현식 관리하기
• 복잡한 텍스트 패턴과 일치시킬 때, 길고 복잡한 정규표현식을 사용하게 됨.
• 이 때, 공백과 주석을 넣어 보기 좋게 표현하고, 이를 무시하도록 re.VERBOSE로 지시함.
https://core.today
47
IGNORECASE, re.DOTALL, re.VERBOSE 결합하기
• re.IGNORECASE : 대소문자 구분 무시
https://core.today
48
프로젝트 : 전화번호와 이메일 주소 추출하기
1단계 : 전화번호에 대한 정규식 만들기
https://core.today
49
프로젝트 : 전화번호와 이메일 주소 추출하기
2단계 : 이메일 주소에 대한 정규식 만들기
https://core.today
50
프로젝트 : 전화번호와 이메일 주소 추출하기
3단계 : 클립보드 텍스트에서 일치하는 모든 것을 찾기
https://core.today
51
프로젝트 : 전화번호와 이메일 주소 추출하기
4단계 : 일치하는 텍스트들을 하나의 문자열로 클립보드에 붙이기
https://core.today
52
프로젝트 : 전화번호와 이메일 주소 추출하기
https://www.hhi.co.kr/About/about07_1
2. 파일 읽고 쓰기
https://core.today
54
파일과 파일 경로
C:UsersasweigartDocumentsproject.docx
https://core.today
55
윈도우에서는 백슬래시, OS X 및 리눅스에서는 슬래시
• 윈도우 경로는 폴더 이름 사이의 구분 기호로 백슬래시를 사용함.
• 맥, 리눅스는 경로 구분 기호로 슬래시를 사용함.


• os.path.join() 으로 OS에 맞는 경로 값을 출력함.
https://core.today
56
윈도우에서는 백슬래시, OS X 및 리눅스에서는 슬래시
https://core.today
57
현재 작업 디렉토리
• os.getcwd() : 현재 작업 디렉토리 반환
• os.chdir() : 현재 작업 디렉토리 변경
https://core.today
58
상대 경로 vs 절대 경로
• 절대 경로 : 항상 루트 폴더로 시작
• 상대 경로 : 프로그램의 현재 작업 디렉토리를 기준으로 함


• . 이(this) 디렉토리
• .. 부모(parent) 디렉토리
https://core.today
59
현재 작업 디렉토리의 상대 경로와 절대 경로
https://core.today
60
os.makedirs()에 새 폴더 만들기
https://core.today
61
os.path 모듈
• os.path 모듈을 파일 이름과 파일 경로에 관련된 많은 유용한 기능을 포함.
https://docs.python.org/ko/3/library/os.path.html
https://core.today
62
절대 및 상대 경로 다루기
https://core.today
63
절대 및 상대 경로 다루기
https://core.today
64
절대 및 상대 경로 다루기
https://core.today
65
절대 및 상대 경로 다루기
https://core.today
66
절대 및 상대 경로 다루기
https://core.today
67
절대 및 상대 경로 다루기
https://core.today
68
파일 크기 및 폴더 내용 찾기
• os.path.getsize(path) : 파일의 크기를 바이트 단위로 반환
• os.listdir(path) : 파일 이름 문자열의 리스트 반환
https://core.today
69
파일 크기 및 폴더 내용 찾기
• 지정한 디렉토리에 있는 모든 파일의 전체 크기 계산하기
https://core.today
70
경로 유효성 확인
https://core.today
71
경로 유효성 확인
https://core.today
72
파일의 읽기/쓰기 프로세스
1. open() 함수를 호출하여 File 객체를 반환
2. File 객체의 read() 또는 write() 메소드 호출
3. File 객체의 close() 메소드 호출로 파일 닫음
https://core.today
73
open() 함수를 사용하여 파일 열기
https://core.today
74
파일의 내용을 읽기
https://core.today
75
파일의 내용을 읽기
https://core.today
76
파일에 쓰기
https://core.today
77
shelve 모듈로 변수 저장하기
• shelve 모듈을 이용해 변수를 파일로 저장해 둘 수 있음.
https://core.today
78
shelve 모듈로 변수 저장하기
• shelve 모듈을 이용해 변수를 파일로 저장해 둘 수 있음.
https://core.today
79
shelve 모듈로 변수 저장하기
• shelve 모듈을 이용해 변수를 파일로 저장해 둘 수 있음.
https://core.today
80
pprint.pformat() 함수로 변수 저장하기
• pprint.pprint() : 보기 좋게 출력
• pprint.pformat() : 문자열로 반환
https://core.today
81
프로젝트 : 무작위로 퀴즈 파일 만들기
https://core.today
82
프로젝트 : 멀티 클립보드
3. 파일 체계화하기
https://core.today
84
shutil 모듈
• 쉘유틸리티(shutil) 모듈은 파이썬 프로그램에서









기능을 제공.
1. 파일 복사
2. 파일 이동
3. 파일 이름 바꾸기
4. 파일 삭제하기
https://core.today
85
파일 폴더 복사하기
• shutil.copy : 하나의 파일 복사
https://core.today
86
파일 폴더 복사하기
• shutil.copytree : 전체 폴더와 그 안에 포함된 모든 폴더 및 파일 복사
https://core.today
87
파일이나 폴더 이동 및 이름 바꾸기
https://core.today
88
파일이나 폴더 이동 및 이름 바꾸기
https://core.today
89
파일이나 폴더 이동 및 이름 바꾸기
https://core.today
90
파일 및 폴더 완전히 지우기
• os.unlink(path) : 파일 삭제
• os.rmdir(path) : 폴더 삭제
• shutil.rmtree(path) : 폴더와 파일 삭제
https://core.today
91
파일 및 폴더 완전히 지우기
• os.unlink(path) : 파일 삭제
• os.rmdir(path) : 폴더 삭제
• shutil.rmtree(path) : 폴더와 파일 삭제
https://core.today
92
파일 및 폴더 완전히 지우기
• os.unlink(path) : 파일 삭제
• os.rmdir(path) : 폴더 삭제
• shutil.rmtree(path) : 폴더와 파일 삭제
https://core.today
93
send2trash 모듈로 안전하게 지우기
https://core.today
94
디렉토리 트리 돌아다니기
https://core.today
95
zipfile 모듈로 파일 압축하기
• example.zip
https://core.today
96
ZIP 파일 읽기
https://core.today
97
ZIP 파일에서 추출하기
https://core.today
98
ZIP 파일에서 추출하기
https://core.today
99
ZIP 파일을 만들고 추가하기
• 새로 작성할 때는 ‘w’
• 내용을 추가할 때는 ‘a’
https://core.today
100
프로젝트 : 미국식 날짜 파일 이름을 한국식 날짜로 바꾸기
1단계 : 미국식 날짜에 대한 정규식 만들기
https://core.today
101
프로젝트 : 미국식 날짜 파일 이름을 한국식 날짜로 바꾸기
1단계 : 미국식 날짜에 대한 정규식 만들기
https://core.today
102
프로젝트 : 미국식 날짜 파일 이름을 한국식 날짜로 바꾸기
2단계 : 파일 이름에서 날짜 부분 확인하기
https://core.today
103
프로젝트 : 미국식 날짜 파일 이름을 한국식 날짜로 바꾸기
3단계 : 새 파일 이름을 구성하고, 파일의 이름을 바꾸기
https://core.today
104
프로젝트 : zip 파일에 폴더 백업하기
1단계 : ZIP 파일의 이름 정하기
https://core.today
105
프로젝트 : zip 파일에 폴더 백업하기
2단계 : 새 ZIP 파일 만들기
https://core.today
106
프로젝트 : zip 파일에 폴더 백업하기
3단계 : 디렉토리 트리를 돌아다니면서 ZIP 파일에 추가하기
https://core.today
107
프로젝트 : zip 파일에 폴더 백업하기
함수 실행
4. 웹 스크랩
https://core.today
109
requests 모듈로 웹에서 파일 다운로드하기
pip install requests
https://core.today
110
requests.get() 함수로 웹 페이지 다운로드 하기
https://core.today
111
오류 검사
https://core.today
112
오류 검사
https://core.today
113
하드 드라이브에 다운로드한 파일 저장하기
https://core.today
114
유니코드 인코딩
https://core.today
115
HTML 간단히 살펴보기 : 웹 페이지의 소스 HTML 보기
https://core.today
116
HTML 간단히 살펴보기 : 브라우저의 개발자 도구 열기
https://core.today
117
HTML 간단히 살펴보기 : HTML 엘리먼트를 찾기 위해 개발자 도구 사용하기
https://core.today
118
BeautifulSoup 모듈로 HTML 구문 분석하기 : HTML에서 BeautifulSoup 개체 만들기
https://core.today
119
BeautifulSoup 모듈로 HTML 구문 분석하기 : select() 메소드로 엘리먼트 찾기
ࢶఖ੗ ੌ஖ೞ‫ח‬ Ѫ
soup.select(‘div’) <div> కӒо ࠢ਷ ‫ݽ‬ٚ ৃܻ‫ݢ‬౟
soup.select(‘#author’) Id ࣘࢿ੉ authorੋ ৃܻ‫ݢ‬౟
soup.select(‘.notice’) Css ௿‫ې‬झ ࣘࢿ੉ notice‫ۆ‬ ੉ܴਸ о૓ ‫ݽ‬ٚ ৃܻ‫ݢ‬౟
soup.select(‘div span’)
<div> కӒо ࠢ਷ ‫ݽ‬ٚ ৃܻ‫ݢ‬౟ উী ੓‫ח‬,

<span> కӒо ࠢ਷ ৃܻ‫ݢ‬౟
soup.select(‘div > span’)
<div> కӒо ࠢ਷ ‫ݽ‬ٚ ৃܻ‫ݢ‬౟ উী ੓‫ח‬, ߄‫۽‬ ‫਺׮‬ ‫੄҅ױ‬ <span> ৃ
ܻ‫ݢ‬౟. ૊, ੉ ‫ف‬ ৃܻ‫ݢ‬౟ ࢎ੉ী য‫ڃ‬ ‫ܲ׮‬ ৃܻ‫ݢ‬౟‫ب‬ হযঠ ೣ.
soup.select(‘input[name]’)
<input> కӒо ࠢ਷ ‫ݽ‬ٚ ৃܻ‫ݢ‬౟‫۽‬, name ࣘࢿਸ о૑Ҋ ੓ਵ‫
ݴ‬
Ӓ ч਷ ࢚ҙ হ਺
soup.select(‘input[type=“button”]’)
<input> కӒо ࠢ਷ ‫ݽ‬ٚ ৃܻ‫ݢ‬౟‫۽‬, type੉‫חۄ‬ ࣘࢿਸ о૑Ҋ ੓ਵ‫
ݴ‬
Ӓ ч਷ button ੉যঠ ೣ
https://core.today
120
BeautifulSoup 모듈로 HTML 구문 분석하기 : select() 메소드로 엘리먼트 찾기
https://core.today
121
BeautifulSoup 모듈로 HTML 구문 분석하기 : select() 메소드로 엘리먼트 찾기
https://core.today
122
BeautifulSoup 모듈로 HTML 구문 분석하기 : 엘리먼트의 속성에서 데이터 가져오기
https://core.today
123
프로젝트 : “운 좋은 예감(I’m Feeling Lucky)” 구글 검색
1단계 : 명령행 매개변수를 얻고 검색 페이지 요청하기
https://core.today
124
프로젝트 : “운 좋은 예감(I’m Feeling Lucky)” 구글 검색
2단계 : 모든 결과 찾기
https://core.today
125
프로젝트 : “운 좋은 예감(I’m Feeling Lucky)” 구글 검색
3단계 : 각 결과를 웹 브라우저로 열기
5. 엑셀 스프레드시트로 작업하기
https://core.today
127
openpyxl 모듈 설치하기
pip install openpyxl
https://core.today
128
엑셀 문서 읽기
https://core.today
129
OpenPyXL로 엑셀 문서 열기
https://core.today
130
통합 문서에서 시트 얻기
https://core.today
131
시트에서 셀 얻기
https://core.today
132
시트에서 셀 얻기
https://core.today
133
시트에서 셀 얻기
https://core.today
134
열 이름의 글자와 숫자 사이 변환
https://core.today
135
시트에서 행과 열 얻기
https://core.today
136
시트에서 행과 열 얻기
https://core.today
137
정리
1. openpyxl 모듈을 import 함.
2. openpyxl.load_workbook() 함수를 호출함.
3. Workbook 객체를 가져옴.
4. 통합 문서의 get_active_sheet() 또는 get_sheet_by_name() 메소드 호출.
5. Worksheet 객체를 가져옴.
6. 인덱스를 사용하거나 cell() 시트 메소드를 row와 column 키워드 매개변수와 함께 사용.
7. Cell 객체를 가져옴.
8. Cell 객체의 value 속성을 읽음.
https://core.today
138
프로젝트 : 스프레드시트에서 데이터 읽기
• 2010년 미국 인구조사 데이터
• 각 County의 총 인구와


인구조사 지역 단위(census tract)의


수를 모두 계산하시오.




• 인구조사 지역 단위란


인구조사 목적으로만 정의된


지리적 영역을 말함.
https://core.today
139
프로젝트 : 스프레드시트에서 데이터 읽기
1단계 : 스프레드시트 데이터 읽기
https://core.today
140
프로젝트 : 스프레드시트에서 데이터 읽기
2단계 : 데이터 구조 채우기
https://core.today
141
프로젝트 : 스프레드시트에서 데이터 읽기
2단계 : 데이터 구조 채우기
https://core.today
142
프로젝트 : 스프레드시트에서 데이터 읽기
2단계 : 데이터 구조 채우기
https://core.today
143
프로젝트 : 스프레드시트에서 데이터 읽기
3단계 : 결과를 파일로 만들기
• pprint.pformat() 함수는 그 자체로 유효한 파이썬 코드 형식을 가지는 문자열을 만듬.
• countyData 딕셔너리를 하나의 거대한 문자열로, 파일에 저장함.
https://core.today
144
프로젝트 : 스프레드시트에서 데이터 읽기
3단계 : 결과를 파일로 만들기
• 복잡하게 보일 수 있지만 파이썬 모듈처럼 가져올 수 있는 장점이 있음.
https://core.today
145
프로젝트 : 스프레드시트 업데이트하기
• 마늘, 샐러리, 레몬의 가격이 잘못 입력되었음.
• 스프레드시트 내의 수천 행 중, 마늘, 샐러리, 레몬 판매 행의 파운드 당 가격을 업데이트 할 것.
ࣻ੿ оѺ
Celery 1.19
Garlic 3.07
Lemon 1.27
https://core.today
146
프로젝트 : 스프레드시트 업데이트하기
1단계 : 업데이트할 정보의 데이터 구조 정하기
https://core.today
147
프로젝트 : 스프레드시트 업데이트하기
1단계 : 업데이트할 정보의 데이터 구조 정하기
https://core.today
148
프로젝트 : 스프레드시트 업데이트하기
2단계 : 모든 행을 확인하고 잘못된 가격 변경하기
6. PDF 및 Word 문서로 작업하기
https://core.today
150
문제를 안고 있는 PDF 형식
• PDF 파일은 사람들이 쉽게 읽고 인쇄하도록 텍스트의 레이아웃을 만드는 데에 훌륭함.
• 소프트웨어가 그 내용을 일반 텍스트로 해석하기는 간단하지 않음.


• PyPDF2는 PDF에서 텍스트를 추출할 때 실수할 수 있으며,


일부 PDF는 아예 열지 못할 수 있음.


• OCR 등 특수한 절차를 거쳐야 할 수 있음.
https://core.today
151
PDF 파일에서 텍스트 추출하기
https://core.today
152
PDF 파일의 암호 풀기
https://core.today
153
PDF 파일 만들기
• PyPDF2는 일반 텍스트 파일과는 다르게, 아무 텍스트나 PDF에 쓸 수는 없음.
• 할 수 있는 기능
1. 다른 PDF로부터 페이지 복사하기
2. 페이지 회전하기
3. 페이지 덮어쓰기
4. 파일 암호화
https://core.today
154
1. 페이지 복사하기
https://core.today
155
2. 페이지 회전하기
https://core.today
156
페이지 덮어쓰기
https://core.today
157
페이지 덮어쓰기
https://core.today
158
PDF 파일을 암호화하기
https://core.today
159
프로젝트 : 많은 PDF 파일로부터 지정한 페이지를 결합하기
수십 개의 PDF 파일을 하나의 PDF로 합쳐라.
파일 각각은 첫 페이지에 표지가 있지만 최종 결과물에서는 표지가 되풀이해서 나타나면 안됨.
• 현재 작업 디렉토리에 있는 모든 PDF 파일을 찾음.
• PDF 파일이 순서에 따라 추가되도록 파일 이름을 정렬함.
• 출력 PDF 파일에 각 파일의 첫 번째 페이지를 제외한 나머지 페이지를 하나하나 기록함.
https://core.today
160
프로젝트 : 많은 PDF 파일로부터 지정한 페이지를 결합하기
1단계 : 모든 PDF 파일 찾기
https://core.today
161
프로젝트 : 많은 PDF 파일로부터 지정한 페이지를 결합하기
2단계 : 각각의 PDF를 열기
https://core.today
162
프로젝트 : 많은 PDF 파일로부터 지정한 페이지를 결합하기
3단계 : 각 페이지 추가하기
https://core.today
163
프로젝트 : 많은 PDF 파일로부터 지정한 페이지를 결합하기
4단계 : 결과를 저장하기
7. CSV 파일 및 JSON 데이터로 작업하기
https://core.today
165
csv 모듈 : Reader 개체
• csv 모듈로 CSV 파일에서 데이터를 읽으려면 Reader 객체를 만들어야 함.
• Reader 객체는 CSV 파일의 줄을 되풀이할 수 있음.
https://core.today
166
csv 모듈 : Reader 개체
https://core.today
167
csv 모듈 : for 루프 안에서 Reader 객체로부터 데이터 읽기
https://core.today
168
csv 모듈 : Writer 객체
https://core.today
169
csv 모듈 : delimiter 및 lineterminator 키워드 매개변수
https://core.today
170
csv 모듈 : delimiter 및 lineterminator 키워드 매개변수
https://core.today
171
프로젝트 : CSV 파일에서 머리말 제거하기
1단계 : 루프로 각 CSV 파일을 거쳐가기
https://core.today
172
프로젝트 : CSV 파일에서 머리말 제거하기
2단계 : CSV 파일로부터 읽기
https://core.today
173
프로젝트 : CSV 파일에서 머리말 제거하기
3단계 : 첫 행을 없앤 CSV 파일을 저장하기
https://core.today
174
json 모듈
• JSON ( JavaScript Object Notation )
https://core.today
175
loads() 함수로 JSON을 읽기
https://core.today
176
dumps() 함수로 JSON 만들기
https://core.today
177
프로젝트 : 현재 날씨 정보 가져오기
1. 명령행에서 요청된 위치를 읽음.
2. OpenWeatherMap.org에서 JSON 날씨 데이터를 다운로드 함.
3. JSON 데이터의 문자열을 파이썬 데이터 구조로 변환함.
4. 오늘 날씨와 앞으로 이틀간의 날씨를 출력함.
derano9227@gridmire.com

9aa0693999d7837400eac58
ff
44c8b75

fc4928d6fa26cee176d5156c8df33d52

http://api.openweathermap.org/data/2.5/weather?q=London,uk&APPID=fc4928d6fa26cee176d5156c8df33d52
https://core.today
178
프로젝트 : 현재 날씨 정보 가져오기
1단계 : 명령행 매개변수로부터 위치를 가져오기
https://core.today
179
프로젝트 : 현재 날씨 정보 가져오기
2단계 : JSON 데이터 다운로드하기
https://core.today
180
프로젝트 : 현재 날씨 정보 가져오기
3단계 : JSON 데이터를 읽어 들이고 날씨를 출력하기
https://core.today
181
프로젝트 : 현재 날씨 정보 가져오기
3단계 : JSON 데이터를 읽어 들이고 날씨를 출력하기
https://core.today
182
프로젝트 : 현재 날씨 정보 가져오기
3단계 : JSON 데이터를 읽어 들이고 날씨를 출력하기
8. 시간 관리, 작업 예약


그리고 다른 프로그램 실행
https://core.today
184
time 모듈
https://core.today
185
time.time() 함수
https://core.today
186
time.sleep() 함수
https://core.today
187
time.sleep() 함수
https://core.today
188
숫자 반올림하기
https://core.today
189
프로젝트 : 슈퍼 스톱워치
• 엔터 키를 눌렀을 때의 사이에 흐른 시간의 양을 추적.
• 엔터키를 누른 각각의 시간을 타이머의 새로운 랩(lap)이 시작된 것으로 간주함.
• 랩 번호, 총 시간, 랩 타임을 출력함.
https://core.today
190
프로젝트 : 슈퍼 스톱워치
1단계 : 시간을 추적할 수 있도록 프로그램 구성하기
https://core.today
191
프로젝트 : 슈퍼 스톱워치
2단계 : 랩타임 추적 및 인쇄
https://core.today
192
datetime 모듈
https://core.today
193
datetime 모듈
https://core.today
194
datetime 모듈
https://core.today
195
timedelta 데이터 유형
https://core.today
196
timedelta 데이터 유형
https://core.today
197
timedelta 데이터 유형
https://core.today
198
특정 날짜까지 일시 정지시키기
https://core.today
199
datetime 객체를 문자열로 변환하기
https://core.today
200
datetime 객체를 문자열로 변환하기
https://core.today
201
문자열을 datetime 객체로 변환하기
https://core.today
202
파이썬의 시간 함수 정리
https://core.today
203
파이썬의 시간 함수 정리
https://core.today
204
파이썬의 시간 함수 정리
https://core.today
205
프로젝트 : 간단한 카운트다운 프로그램
1단계 : 카운트다운
https://core.today
206
프로젝트 : 간단한 카운트다운 프로그램
2단계 : 사운드 파일 재생하기
9. 이메일 및 문자 메시지 보내기
https://core.today
208
이메일 보내기
• SMTP ( Simple Mail Transfer Protocol )
https://core.today
209
SMTP 서버에 연결하기
• SMTP ( Simple Mail Transfer Protocol )
https://core.today
210
SMTP 서버에 연결하기
https://support.google.com/mail/answer/7126229
https://core.today
211
SMTP 서버에 “인사”하기
https://core.today
212
TLS 암호화
https://core.today
213
SMTP 서버에 로그인하기
https://core.today
214
지메일의 응용프로그램 특정 암호
https://support.google.com/accounts/answer/185833?hl=ko#zippy=%2C%EC%95%B1-%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%EA%B0%80-
%ED%95%84%EC%9A%94%ED%95%A0-%EC%88%98-%EC%9E%88%EB%8A%94-%EC%9D%B4%EC%9C%A0%2Cmicrosoft-outlook-%EB%AC%B8%EC%A0%9C-
%ED%95%B4%EA%B2%B0
https://core.today
215
이메일 보내기 ( Gmail 실습 )
https://core.today
216
SMTP 서버와 연결 끊기
https://core.today
217
IMAP와 이메일을 검색 또는 삭제하기
• IMAP ( Internet Message Access Protocol )
https://core.today
218
IMAP 서버에 연결하기
https://core.today
219
IMAP 서버에 연결하기
https://core.today
220
IMAP 서버에 로그인하기
https://core.today
221
이메일 검색하기 ( Gmail 실습 )
1단계 : 폴더 선택
https://core.today
222
이메일 검색하기 ( Gmail 실습 )
1단계 : 폴더 선택
https://core.today
223
이메일 검색하기 ( Gmail 실습 )
2단계 : 검색 수행
https://core.today
224
이메일 검색하기 ( Gmail 실습 )
https://core.today
225
이메일 검색하기 ( Gmail 실습 )
https://core.today
226
이메일 검색하기 ( Gmail 실습 )
https://core.today
227
이메일 검색하기 ( Gmail 실습 )
https://core.today
228
이메일 검색하기 ( Gmail 실습 )
크기 제한 문제
https://core.today
229
프로젝트 : 회원에게 회비 납부 알림 메일 보내기
자원봉사 클럽의 회원 회비를 “자원봉사”로 담당하게 됨.
모든 회원의 매달 회비 납부 상황을 스프레드시트로 가지고 있다가
회비를 내지 않은 사람에게 이메일을 보내야 함.
• 엑셀 스프레드시트에서 데이터를 읽음.
• 지난 달에 월 회비를 지불하지 않은 모든 회원을 찾음.
• 이메일 주소를 찾아 맞춤 알림 이메일을 보냄.
https://core.today
230
프로젝트 : 회원에게 회비 납부 알림 메일 보내기
1단계 : 엑셀 파일 열기
https://core.today
231
프로젝트 : 회원에게 회비 납부 알림 메일 보내기
2단계 : 모든 회비 미납 회원 찾기
https://core.today
232
프로젝트 : 회원에게 회비 납부 알림 메일 보내기
3단계 : 맞춤형 이메일 알림 보내기
https://core.today
233
프로젝트 : 회원에게 회비 납부 알림 메일 보내기
3단계 : 맞춤형 이메일 알림 보내기
https://core.today
234
프로젝트 : 회원에게 회비 납부 알림 메일 보내기
3단계 : 맞춤형 이메일 알림 보내기
https://core.today
235
Twilio로 문자 메시지 보내기

More Related Content

What's hot

엘라스틱 서치 세미나
엘라스틱 서치 세미나엘라스틱 서치 세미나
엘라스틱 서치 세미나종현 김
 
정규표현식 Regular expression (regex)
정규표현식 Regular expression (regex)정규표현식 Regular expression (regex)
정규표현식 Regular expression (regex)Sunyoung Kim
 
Elasticsearch server Chapter5
Elasticsearch server Chapter5Elasticsearch server Chapter5
Elasticsearch server Chapter5Mungyu Choi
 
검색 서비스 간략 교육
검색 서비스 간략 교육 검색 서비스 간략 교육
검색 서비스 간략 교육 Rjs Ryu
 
elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리Junyi Song
 
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민XpressEngine
 
엘라스틱서치 분석 이해하기 20160623
엘라스틱서치 분석 이해하기 20160623엘라스틱서치 분석 이해하기 20160623
엘라스틱서치 분석 이해하기 20160623Yong Joon Moon
 
Meteor Elasticsearch 연동 Trial
Meteor Elasticsearch 연동 TrialMeteor Elasticsearch 연동 Trial
Meteor Elasticsearch 연동 TrialSangwon Lee
 
Mongo DB로 진행하는 CRUD
Mongo DB로 진행하는 CRUDMongo DB로 진행하는 CRUD
Mongo DB로 진행하는 CRUDJin wook
 
Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문SeungHyun Eom
 

What's hot (10)

엘라스틱 서치 세미나
엘라스틱 서치 세미나엘라스틱 서치 세미나
엘라스틱 서치 세미나
 
정규표현식 Regular expression (regex)
정규표현식 Regular expression (regex)정규표현식 Regular expression (regex)
정규표현식 Regular expression (regex)
 
Elasticsearch server Chapter5
Elasticsearch server Chapter5Elasticsearch server Chapter5
Elasticsearch server Chapter5
 
검색 서비스 간략 교육
검색 서비스 간략 교육 검색 서비스 간략 교육
검색 서비스 간략 교육
 
elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리
 
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
 
엘라스틱서치 분석 이해하기 20160623
엘라스틱서치 분석 이해하기 20160623엘라스틱서치 분석 이해하기 20160623
엘라스틱서치 분석 이해하기 20160623
 
Meteor Elasticsearch 연동 Trial
Meteor Elasticsearch 연동 TrialMeteor Elasticsearch 연동 Trial
Meteor Elasticsearch 연동 Trial
 
Mongo DB로 진행하는 CRUD
Mongo DB로 진행하는 CRUDMongo DB로 진행하는 CRUD
Mongo DB로 진행하는 CRUD
 
Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문
 

Similar to 업무 자동화

Programming skills 1부
Programming skills 1부Programming skills 1부
Programming skills 1부JiHyung Lee
 
PHP 7의 새로운 특징과 기능 요약
PHP 7의 새로운 특징과 기능 요약PHP 7의 새로운 특징과 기능 요약
PHP 7의 새로운 특징과 기능 요약정아 손
 
0327.web&ruby&rails
0327.web&ruby&rails0327.web&ruby&rails
0327.web&ruby&rails민정 김
 
전문 검색 기술
전문 검색 기술전문 검색 기술
전문 검색 기술kidoki
 
Perl Script Document
Perl Script DocumentPerl Script Document
Perl Script Document오석 한
 
객체지향 프로그래밍 기본
객체지향 프로그래밍 기본객체지향 프로그래밍 기본
객체지향 프로그래밍 기본용호 최
 
HTML Form과 배열
HTML Form과 배열HTML Form과 배열
HTML Form과 배열Yoonwhan Lee
 
자바야 놀자 PPT
자바야 놀자 PPT자바야 놀자 PPT
자바야 놀자 PPTJinKyoungHeo
 
파이썬+정규표현식+이해하기 20160301
파이썬+정규표현식+이해하기 20160301파이썬+정규표현식+이해하기 20160301
파이썬+정규표현식+이해하기 20160301Yong Joon Moon
 
Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)Choonghyun Yang
 
[자바카페] 자바 객체지향 프로그래밍 (2017)
[자바카페] 자바 객체지향 프로그래밍 (2017)[자바카페] 자바 객체지향 프로그래밍 (2017)
[자바카페] 자바 객체지향 프로그래밍 (2017)용호 최
 
Clojure/Chapter3
Clojure/Chapter3Clojure/Chapter3
Clojure/Chapter3destinycs
 
10 swift 열거형구조체클래스
10 swift 열거형구조체클래스10 swift 열거형구조체클래스
10 swift 열거형구조체클래스Changwon National University
 
Cmake tutorial
Cmake tutorialCmake tutorial
Cmake tutorial상문 이
 

Similar to 업무 자동화 (20)

Programming skills 1부
Programming skills 1부Programming skills 1부
Programming skills 1부
 
PHP 7의 새로운 특징과 기능 요약
PHP 7의 새로운 특징과 기능 요약PHP 7의 새로운 특징과 기능 요약
PHP 7의 새로운 특징과 기능 요약
 
Asp.net Razor
Asp.net Razor Asp.net Razor
Asp.net Razor
 
0327.web&ruby&rails
0327.web&ruby&rails0327.web&ruby&rails
0327.web&ruby&rails
 
전문 검색 기술
전문 검색 기술전문 검색 기술
전문 검색 기술
 
Perl Script Document
Perl Script DocumentPerl Script Document
Perl Script Document
 
객체지향 프로그래밍 기본
객체지향 프로그래밍 기본객체지향 프로그래밍 기본
객체지향 프로그래밍 기본
 
Scala
ScalaScala
Scala
 
HTML Form과 배열
HTML Form과 배열HTML Form과 배열
HTML Form과 배열
 
자바야 놀자 PPT
자바야 놀자 PPT자바야 놀자 PPT
자바야 놀자 PPT
 
파이썬+정규표현식+이해하기 20160301
파이썬+정규표현식+이해하기 20160301파이썬+정규표현식+이해하기 20160301
파이썬+정규표현식+이해하기 20160301
 
Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)
 
[자바카페] 자바 객체지향 프로그래밍 (2017)
[자바카페] 자바 객체지향 프로그래밍 (2017)[자바카페] 자바 객체지향 프로그래밍 (2017)
[자바카페] 자바 객체지향 프로그래밍 (2017)
 
Clojure/Chapter3
Clojure/Chapter3Clojure/Chapter3
Clojure/Chapter3
 
10 swift 열거형구조체클래스
10 swift 열거형구조체클래스10 swift 열거형구조체클래스
10 swift 열거형구조체클래스
 
Warp
WarpWarp
Warp
 
Cmake tutorial
Cmake tutorialCmake tutorial
Cmake tutorial
 
Apache avro
Apache avroApache avro
Apache avro
 
(스프링초보자를위한)스프링 컨텍스트 설정과 관련된 어노테이션
(스프링초보자를위한)스프링 컨텍스트 설정과 관련된 어노테이션(스프링초보자를위한)스프링 컨텍스트 설정과 관련된 어노테이션
(스프링초보자를위한)스프링 컨텍스트 설정과 관련된 어노테이션
 
Regex
RegexRegex
Regex
 

More from Kyunghoon Kim

넥스트 노멀 - 인간과 AI의 협업
넥스트 노멀 - 인간과 AI의 협업넥스트 노멀 - 인간과 AI의 협업
넥스트 노멀 - 인간과 AI의 협업Kyunghoon Kim
 
토론하는 AI 김컴재와 AI 조향사 센트리아
토론하는 AI 김컴재와 AI 조향사 센트리아토론하는 AI 김컴재와 AI 조향사 센트리아
토론하는 AI 김컴재와 AI 조향사 센트리아Kyunghoon Kim
 
빅데이터의 다음 단계는 예측 분석이다
빅데이터의 다음 단계는 예측 분석이다빅데이터의 다음 단계는 예측 분석이다
빅데이터의 다음 단계는 예측 분석이다Kyunghoon Kim
 
중학생을 위한 4차 산업혁명 시대의 인공지능 이야기
중학생을 위한 4차 산업혁명 시대의 인공지능 이야기중학생을 위한 4차 산업혁명 시대의 인공지능 이야기
중학생을 위한 4차 산업혁명 시대의 인공지능 이야기Kyunghoon Kim
 
4차 산업혁명 시대의 진로와 진학
4차 산업혁명 시대의 진로와 진학4차 산업혁명 시대의 진로와 진학
4차 산업혁명 시대의 진로와 진학Kyunghoon Kim
 
20200620 신호와 소음 독서토론
20200620 신호와 소음 독서토론20200620 신호와 소음 독서토론
20200620 신호와 소음 독서토론Kyunghoon Kim
 
중학생을 위한 인공지능 이야기
중학생을 위한 인공지능 이야기중학생을 위한 인공지능 이야기
중학생을 위한 인공지능 이야기Kyunghoon Kim
 
슬쩍 해보는 선형대수학
슬쩍 해보는 선형대수학슬쩍 해보는 선형대수학
슬쩍 해보는 선형대수학Kyunghoon Kim
 
파이썬으로 해보는 이미지 처리
파이썬으로 해보는 이미지 처리파이썬으로 해보는 이미지 처리
파이썬으로 해보는 이미지 처리Kyunghoon Kim
 
기계가 선형대수학을 통해 한국어를 이해하는 방법
기계가 선형대수학을 통해 한국어를 이해하는 방법기계가 선형대수학을 통해 한국어를 이해하는 방법
기계가 선형대수학을 통해 한국어를 이해하는 방법Kyunghoon Kim
 
공공데이터 활용사례
공공데이터 활용사례공공데이터 활용사례
공공데이터 활용사례Kyunghoon Kim
 
기계학습, 딥러닝, 인공지능 사이의 차이점 이해하기
기계학습, 딥러닝, 인공지능 사이의 차이점 이해하기기계학습, 딥러닝, 인공지능 사이의 차이점 이해하기
기계학습, 딥러닝, 인공지능 사이의 차이점 이해하기Kyunghoon Kim
 
2018 인공지능에 대하여
2018 인공지능에 대하여2018 인공지능에 대하여
2018 인공지능에 대하여Kyunghoon Kim
 
Naive bayes Classification using Python3
Naive bayes Classification using Python3Naive bayes Classification using Python3
Naive bayes Classification using Python3Kyunghoon Kim
 
Basic statistics using Python3
Basic statistics using Python3Basic statistics using Python3
Basic statistics using Python3Kyunghoon Kim
 
[20160813, PyCon2016APAC] 뉴스를 재미있게 만드는 방법; 뉴스잼
[20160813, PyCon2016APAC] 뉴스를 재미있게 만드는 방법; 뉴스잼[20160813, PyCon2016APAC] 뉴스를 재미있게 만드는 방법; 뉴스잼
[20160813, PyCon2016APAC] 뉴스를 재미있게 만드는 방법; 뉴스잼Kyunghoon Kim
 
사회 연결망의 링크 예측
사회 연결망의 링크 예측사회 연결망의 링크 예측
사회 연결망의 링크 예측Kyunghoon Kim
 

More from Kyunghoon Kim (20)

넥스트 노멀 - 인간과 AI의 협업
넥스트 노멀 - 인간과 AI의 협업넥스트 노멀 - 인간과 AI의 협업
넥스트 노멀 - 인간과 AI의 협업
 
토론하는 AI 김컴재와 AI 조향사 센트리아
토론하는 AI 김컴재와 AI 조향사 센트리아토론하는 AI 김컴재와 AI 조향사 센트리아
토론하는 AI 김컴재와 AI 조향사 센트리아
 
빅데이터의 다음 단계는 예측 분석이다
빅데이터의 다음 단계는 예측 분석이다빅데이터의 다음 단계는 예측 분석이다
빅데이터의 다음 단계는 예측 분석이다
 
중학생을 위한 4차 산업혁명 시대의 인공지능 이야기
중학생을 위한 4차 산업혁명 시대의 인공지능 이야기중학생을 위한 4차 산업혁명 시대의 인공지능 이야기
중학생을 위한 4차 산업혁명 시대의 인공지능 이야기
 
4차 산업혁명 시대의 진로와 진학
4차 산업혁명 시대의 진로와 진학4차 산업혁명 시대의 진로와 진학
4차 산업혁명 시대의 진로와 진학
 
20200620 신호와 소음 독서토론
20200620 신호와 소음 독서토론20200620 신호와 소음 독서토론
20200620 신호와 소음 독서토론
 
중학생을 위한 인공지능 이야기
중학생을 위한 인공지능 이야기중학생을 위한 인공지능 이야기
중학생을 위한 인공지능 이야기
 
슬쩍 해보는 선형대수학
슬쩍 해보는 선형대수학슬쩍 해보는 선형대수학
슬쩍 해보는 선형대수학
 
파이썬으로 해보는 이미지 처리
파이썬으로 해보는 이미지 처리파이썬으로 해보는 이미지 처리
파이썬으로 해보는 이미지 처리
 
기계가 선형대수학을 통해 한국어를 이해하는 방법
기계가 선형대수학을 통해 한국어를 이해하는 방법기계가 선형대수학을 통해 한국어를 이해하는 방법
기계가 선형대수학을 통해 한국어를 이해하는 방법
 
공공데이터 활용사례
공공데이터 활용사례공공데이터 활용사례
공공데이터 활용사례
 
기계학습, 딥러닝, 인공지능 사이의 차이점 이해하기
기계학습, 딥러닝, 인공지능 사이의 차이점 이해하기기계학습, 딥러닝, 인공지능 사이의 차이점 이해하기
기계학습, 딥러닝, 인공지능 사이의 차이점 이해하기
 
Korean Text mining
Korean Text miningKorean Text mining
Korean Text mining
 
2018 인공지능에 대하여
2018 인공지능에 대하여2018 인공지능에 대하여
2018 인공지능에 대하여
 
Naive bayes Classification using Python3
Naive bayes Classification using Python3Naive bayes Classification using Python3
Naive bayes Classification using Python3
 
Basic statistics using Python3
Basic statistics using Python3Basic statistics using Python3
Basic statistics using Python3
 
[20160813, PyCon2016APAC] 뉴스를 재미있게 만드는 방법; 뉴스잼
[20160813, PyCon2016APAC] 뉴스를 재미있게 만드는 방법; 뉴스잼[20160813, PyCon2016APAC] 뉴스를 재미있게 만드는 방법; 뉴스잼
[20160813, PyCon2016APAC] 뉴스를 재미있게 만드는 방법; 뉴스잼
 
Topic Modeling
Topic ModelingTopic Modeling
Topic Modeling
 
사회 연결망의 링크 예측
사회 연결망의 링크 예측사회 연결망의 링크 예측
사회 연결망의 링크 예측
 
NMF with python
NMF with pythonNMF with python
NMF with python
 

업무 자동화