본문 바로가기
SK shieldus Rookies 16기

[SK shieldus Rookies 16기] 클라우드 기반 스마트 융합 보안 과정 교육 정리(6일차)

by Challenge programmers 2023. 10. 30.

 

오늘 학습 주제

1. Excel 문서 다루기

2. Word 문서 다루기

3. PDF 문서 다루기

4. CSV & JSON 다루기

 

 

 

 

Excel 문서 다루기


- openpyxl -

파이썬에서 Excel 파일을 읽고 쓰게 해주는 라이브러리

Excel 형식의 파일에 직접 접근한다

 

코드 설명
Workbook() 새로 사용할 Excel파일을 설정할 때 사용
load_workbook(FileName) 기존에 생성되어 있는 Excel파일을 불러올 때 사용
active 활성화되어 있는 시트 선택할 때 사용
save(Filename) 해당 Excel파일 저장할 때 사용
create_sheet() 새로운 시트를 생성할 때 사용
sheetnames Excel파일 내부의 Sheet 목록을 받아 올 때 사용
cell(row =, column =) 지정된 row, column의 셀을 리턴할 때 사용
max_row & max_column 데이터가 입력 된 최대 row, column을 리턴

 

기존에 생성되어 있는 'example.xlsx'파일을 load_workbook()으로 호출한 뒤 내부에 있는 Sheet의 이름과 'Sheet3'의 제목, 활성화된 Sheet를 출력
Sheet에서 지정된 cell의 value를 리턴받는 방법과 cell()로 지정된 위치의 cell value를 리턴 받는 방법, max_column과 max_row로 데이터가 입력된 마지막 column & row도 출력
ger_column_letter()은 지정된 숫자를 글자로, column_index_from_string()은 글자를 숫자로 변환한다
'example.xlsx'에서 'Sheet1'을 불러오고 Sheet 내부에 있는 행과 열을 리턴해 데이터 출력
Excel 파일의 'Sheet'를 호출해 Sheet title을 수정하고 'example_copy.xlsx'로 저장
create_sheet()를 통해 새로운 Sheet 생성 후 del을 이용하여 특정 Sheet삭제
Font()를 통해 Excel 파일 내부 해당 Cell의 Font Style을 변경할 수 있다
Excel의 수식도 사용이 가능하다
row_dimensions[ ]와 column_dimensions[ ]를 이용해row와 culumn의 높이와 폭 조정
merge_cells()를 이용하여 지정된 범위의 cell을 병합
unmerge_cells()를 이용하여 지정된 범위의 Cell을 분할
BarChart()로 Chart 생성

- pandas() -

데이터 분석을 위한 라이브러리

Data Frame 형식으로 변환하여 활용한다

pandas에서 Excel파일을 사용하는 방법

 

 

 

 

world 문서 다루기


- python-docx -

MS Word를 자동화 할 수 있는 라이브러리

 

코드 설명
Document(FileName) 작업에 사용할 Word 파일을 지정할 때 사용
save(FileName) 지정한 Word 파일을 저장할 때 사용
paragraphs[] 문단을 의미. 내용을 읽어오거나 추가할 때 사용

 

'demo.docx'파일을 읽어와 정보를 확인하고 출력

'demo.docx'파일 안 전체 텍스트를 출력
paragraphs와 runs을 이용하여 Style 수정
add_paragraph()로 지정한 문단을 'multipleParagraphs.docs'파일에 입력하고 저장
add_heading()으로 'headings.docx'파일에 제목을 추가
add_page_break()는 Word 문서에서 'Ctrl + Enter'와 같은 역할로 새로운 페이지를 만든다

 

 

 

 

PDF 문서 다루기


- PyPDF2 -

PDF 문서를 다룰 수 있게 해주는 라이브러리

코드 설명
PdfReader() 작업을 위해 PDF 파일을 불러올 때 사용
PdfWriter() 새로운 페이지를 추가할 때 사용
PdfMerger() 새로운 PDF 파일을 생성할 대 사용

 

PdfReader()로 PDF파일을 불러와 내용 출력
decrype() 는 암호가 있는 PDF 파일에 암호를 입력하여 풀어준다
기존 PDF를 읽어와 PdfWriter()로 새로운 PDF를 만든다
rotate()는 지정된 각도로 지정된 PDF파일을 회전시킨다
merge_page()로 워터마크가 있는 PDF 페이지를 병합시켜 워터마크 생성
PdfMerger()로 PDF파일 두개를 병합

 

 

 

 

CSV & JSON 문서 다루기


- CSV(Comma Separated Value) -

콤마로 구분된 데이터를 라인 단위로 읽어 리스트, 딕셔너리 같은 자료 구조에 넣은 파일

 

코드 설명
reader(FileName) 지정한 파일을 읽을 때 사용
writer(FileName) 지정한 파일을 수정할 때 사용
DictReader(FileName) 지정한 파일을 딕셔너리 형식으로 읽을 때 사용

 

reader()로 지정된 CSV파일의 데이터를 읽어오고 출력
for문을 활용하여 'example.csv'파일의 데이터를 출력
writer()를 이용하여 'output.csv'파일을 편집
DictReader()로 'example.csv'파일을 딕셔너리 형식으로 읽고 출력
DicWriter()로 'output.csv' 파일을 딕셔너리 형태로 사용

- Pandas(CSV) -

pandas는 데이터 프레임 방식으로 데이터를 처리한다

데이터 프레임: 테이블 형태의 데이터 구조

pandas를 이용하여 CSV파일 읽기

 

 

- Json(JavaScript Object Notation) -

데이터 교환 표준 포맷

서버에서 클라이언트로 데이터를 보낼 때 사용한다

코드 설명
loads() 딕셔너리 객체 형식으로 가져올 때 사용
dumps() 문자열 형식으로 가져올 때 사용

 

loads()와 dumps()로 Json을 읽어와 각각 딕셔너리 객체 형식과 문자열 형식으로 출력
requests.get()으로 지정한 Web의 API Json 데이터를 불러와 출력

 

 

 

 

 

참고

https://wikidocs.net/141480