달력

2

« 2020/2 »

  •  
  •  
  •  
  •  
  •  
  •  
  • 1


 

 

Excel(엑셀) 지원 파이썬 모듈

·         OpenPyXL

·         xlwt

·         XlsxWriter

·         xlrd

·         xlrw

·         PyExcelerate

·        

 


'Development > Python' 카테고리의 다른 글

cx_oracle - install  (0) 2020.02.25
tm(Text Mining Package) 패키지  (0) 2020.02.25
Excel(엑셀) 지원 파이썬 모듈  (0) 2020.02.23
Excel 문서 구조  (0) 2020.02.23
excel 다루기  (0) 2020.02.23
openpyxl 워크북 속성  (0) 2020.02.23
Posted by codedragon codedragon

댓글을 달아 주세요



 

 

Excel 문서 구조

구분

설명

Workbook

·         워크북

·         엑셀문서를 의미합니다.

·         하나의 워크북은 .xlsx확장자를 가집니다.

·         워크북은 하나 이상의 워크 시트로 구성됩니다.

Worksheet

·         워크시트

·         워크시트는 컬럼(column) 로우(row) 구성됩니다.

·         현재 작업중인 워크시트를 액티브 시트(Activesheet)라고 합니다.

Cell

·        

·         컬럼(column) 로우(row) 만나는 사각형 공간을 셀이라고 합니다.

·         셀에는 문자나 숫자등을 포함할 있습니다.

 



 


'Development > Python' 카테고리의 다른 글

tm(Text Mining Package) 패키지  (0) 2020.02.25
Excel(엑셀) 지원 파이썬 모듈  (0) 2020.02.23
Excel 문서 구조  (0) 2020.02.23
excel 다루기  (0) 2020.02.23
openpyxl 워크북 속성  (0) 2020.02.23
openpyxl 모듈 설치  (0) 2020.02.23
Posted by codedragon codedragon

댓글을 달아 주세요

2020. 2. 23. 20:37

excel 다루기 Development/Python


 

excel 다루기

·         엑셀파일 열기

·         Worksheet 선택

·         cell 저장하기

·         엑셀파일에 저장하기

·         엑셀 데이터 읽고 쓰기

 

 

 

 

 

 

엑셀파일 열기

엑셀 파일을 오픈하기 위해 openpyxl.load_workbook(엑셀파일명) 함수를 호출하여 Workbook 객체 얻습니다.

wb = openpyxl.load_workbook('filename.xlsx')

 

 

 

 

 

 

 

Worksheet 선택

·         하나의 Workbook에는 여러 개의 Worksheet 들이 있는데 일반적으로 엑셀파일은 기본으로 Sheet1, Sheet2, Sheet3 3개의 시트를 생성합니다.

·         엑셀 파일을 열면 일반적으로 첫번째 시트가 Active Sheet 되므로 Worksheet 객체의 active 통해 현재 워크시트를 가져올 있습니다. 하지만, 엑셀은 저장시 마지막에 선택된 시트를 Active Sheet 사용하므로 wb.get_sheet_by_name(시트명) 사용하는 것이 안전합니다.

 

ws = wb.active

ws = wb.get_sheet_by_name("Sheetname")

ws = wb.get_sheet_by_name("Sheet1")

 

 

 

 

 

Worksheet / 접근

 

·         워크시트는 (Row) (Column) 구성되어 있습니다.

·         시트(Sheet) 내에 데이터가 있는 부분의 행들은 시트객체.rows 통해 엑세스할 있고, 시트객체.columns 유효 컬럼들을 엑세스할 있습니다.

 

구분

설명

시트객체.rows

시트 내에 데이타가 있는 부분의 행에 접근

시트객체.columns

유효 (컬럼) 접근

 

 

 

 

 

 

cell 저장하기

·         특정 cell 값을 지정하기 위해서는 cell.value 값을 저장하면 됩니다.

·         시트에서 cell 지정하기 위해 ws["A1"] 같이 엑셀식 cell 지정방법 사용할 있고, 인덱스를 사용하여 ws.cell(row=행인덱스, column=열인덱스) 같이 행열 인덱스 표현방법 사용할 수도 있습니다.

 

ws["A1"].value

ws.cell(row=행인덱스, column=열인덱스).value

 

 

 

 

 

 

 

엑셀파일에 저장하기

엑셀의 변경 내용을 저장하기 위해서는 Workbook 객체에서 save() 메서드를 사용합니다.

wb.save("filename.xlsx")

 

 

 

 

 

 

엑셀 데이터 닫기

엑셀 사용이 모두 끝난 경우 close() 메서드를 호출하여 자원 정리를 수행합니다.

 

wb.close()

 

 


'Development > Python' 카테고리의 다른 글

Excel(엑셀) 지원 파이썬 모듈  (0) 2020.02.23
Excel 문서 구조  (0) 2020.02.23
excel 다루기  (0) 2020.02.23
openpyxl 워크북 속성  (0) 2020.02.23
openpyxl 모듈 설치  (0) 2020.02.23
Binary file 처리 메서드  (0) 2020.02.23
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

openpyxl 워크북 속성

 

멤버필드

설명

wb = openpyxl.load_workbook('path')

·         해당 경로의 엑셀파일을 오픈합니다.

 

·         wb = openpyxl.load_workbook('상반기매출.xlsx')

wb.sheetnames

·         워크시트 목록 가져오기

wb.active

·         현재 활성화된 ActiveSheet 가져오기

ws[인덱스]

·         인덱스를 통해 셀에 접근

 

·         c = ws['A2']

ws[인덱스:인덱스]

·         여러셀에 접근할 있습니다.

ws[인덱스]='수식'

·         수식(formulas) 지정할 있습니다.

c.value

·         접근한 셀의 값을 반환합니다.

ws.cell(row, column)

·         행과 인덱스를 통해 해당 셀에 접근합니다.

ws.cell(row, column, value)

·         행과 인덱스를 통해 접근한 셀의 값을 value인자에 지정한 데이터로 변경합니다.

 

 

ws.max_row

·         마지막 셀의 행수

 

·         1~

ws.max_column

·         마지막 셀의 컬럼수

 

·         A~

ws.merge_cells('인덱스:인덱스')

·         합치기

 

 


'Development > Python' 카테고리의 다른 글

Excel 문서 구조  (0) 2020.02.23
excel 다루기  (0) 2020.02.23
openpyxl 워크북 속성  (0) 2020.02.23
openpyxl 모듈 설치  (0) 2020.02.23
Binary file 처리 메서드  (0) 2020.02.23
Binary file(바이너리 파일)  (0) 2020.02.23
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

 

openpyxl 모듈 설치

pip install openpyxl

C:\Python\Python36-32\Scripts>pip install openpyxl

Collecting openpyxl

  Downloading openpyxl-2.4.8.tar.gz (156kB)

    100% |████████████████████████████████| 163kB 1.1MB/s

Collecting jdcal (from openpyxl)

  Downloading jdcal-1.3.tar.gz

Collecting et_xmlfile (from openpyxl)

  Downloading et_xmlfile-1.0.1.tar.gz

Installing collected packages: jdcal, et-xmlfile, openpyxl

  Running setup.py install for jdcal ... done

  Running setup.py install for et-xmlfile ... done

  Running setup.py install for openpyxl ... done

Successfully installed et-xmlfile-1.0.1 jdcal-1.3 openpyxl-2.4.8

 

C:\Python\Python36-32\Scripts>

 

 


'Development > Python' 카테고리의 다른 글

excel 다루기  (0) 2020.02.23
openpyxl 워크북 속성  (0) 2020.02.23
openpyxl 모듈 설치  (0) 2020.02.23
Binary file 처리 메서드  (0) 2020.02.23
Binary file(바이너리 파일)  (0) 2020.02.23
MySQL DML 사용 절차  (0) 2020.02.23
Posted by codedragon codedragon

댓글을 달아 주세요



 

 

Binary file 처리 메서드

메소드

설명

read(n)

·         n 바이트만큼의 데이터를 읽어옵니다.

·         read(n) 메서드가 텍스트 파일에 사용되면 n 개의 (바이트가 아닌) 문자를 읽어 들입니다.

·         read() 메서드에서 n 인자를 생략하면 모든 데이타를 읽어 들입니다.

ftell()

·         현재의 파일 위치를 리턴합니다.

fseek()

·         특정 위치로 파일 포인터를 옮기는 역할을 합니다.

 

 


'Development > Python' 카테고리의 다른 글

openpyxl 워크북 속성  (0) 2020.02.23
openpyxl 모듈 설치  (0) 2020.02.23
Binary file 처리 메서드  (0) 2020.02.23
Binary file(바이너리 파일)  (0) 2020.02.23
MySQL DML 사용 절차  (0) 2020.02.23
Dictionary 커서  (0) 2020.02.23
Posted by codedragon codedragon

댓글을 달아 주세요



 

 

Binary file(바이너리 파일)

·         바이너리 파일을 읽기 위해서는 파일모드 rb , 쓰기 위해서는 wb 지정해야 합니다.

·         바이너리 파일은 자체가 바이트로 처리되기 때문에 텍스트 파일에서 사용하는 Universal Newline 변환이나 인코딩을 사용하지 않습니다.

 

 

 

 


'Development > Python' 카테고리의 다른 글

openpyxl 모듈 설치  (0) 2020.02.23
Binary file 처리 메서드  (0) 2020.02.23
Binary file(바이너리 파일)  (0) 2020.02.23
MySQL DML 사용 절차  (0) 2020.02.23
Dictionary 커서  (0) 2020.02.23
MySql 사용 절차  (0) 2020.02.23
Posted by codedragon codedragon

댓글을 달아 주세요



 

MySQL DML 사용 절차

 

단계

설명

1

PyMySql 모듈을 import 합니다.

2

·         pymysql.connect() 메소드를 사용하여 MySQL Connect 하여 Conncet 객체 생성합니다.

·         호스트명, 로그인, 암호, 접속할 DB 등을 파라미터로 지정합니다.

3

·         DB 접속이 성공하면, Connection 객체로부터 cursor() 메서드를 호출하여 Cursor 객체 가져옵니다.

4

·         Cursor 객체의 execute() 메서드를 사용하여 SQL 문장을 DB 서버에 쿼리문을 수행합니다.

5

·         삽입, 갱신, 삭제 등이 모두 끝났으면 Connection 객체의 commit() 메서드를 사용하여 변경된 데이터를 데이터베이스에 확정적으로 적용 줍니다.

·         디폴트로 Autocommit 아니므로 commit() 명시적으로 호출합니다. 자동커밋을 원하는 경우, connect() 메서드 호출시 autocommit=True 지정합니다.

6

·         Connection 객체의 close() 메서드를 사용하여 DB 연결을 닫아 자원 정리 줍니다.

 

 


'Development > Python' 카테고리의 다른 글

Binary file 처리 메서드  (0) 2020.02.23
Binary file(바이너리 파일)  (0) 2020.02.23
MySQL DML 사용 절차  (0) 2020.02.23
Dictionary 커서  (0) 2020.02.23
MySql 사용 절차  (0) 2020.02.23
DML(INSERT, UPDATE, DELETE)  (0) 2020.02.23
Posted by codedragon codedragon

댓글을 달아 주세요


 

Dictionary 커서

·         Connection 으로부터 Dictionary Cursor 생성해서 사용합니다.

·         cursor() 메서드 안에 DictCursor 파라미터로 지정하면 디폴트인 Array based cursor 아닌 Dictionary based cursor 사용하게 됩니다.

 

# Connection 으로부터 Dictoionary Cursor 생성

curs = conn.cursor(pymysql.cursors.DictCursor)

 

 

 

parameter

description

conn.cursor()

·         디폴트값

·         Array based cursor Row 결과값을 배열로 (PyMyMsql에서는 튜플tuple형태) 리턴합니다.

conn.cursor(pymysql.cursors.DictCursor)

·         cursor 생성시 cursor() 메서드 안에 DictCursor 옵션을 주면, Row 결과를 Dictionary 형태로 리턴합니다.

 

 


'Development > Python' 카테고리의 다른 글

Binary file(바이너리 파일)  (0) 2020.02.23
MySQL DML 사용 절차  (0) 2020.02.23
Dictionary 커서  (0) 2020.02.23
MySql 사용 절차  (0) 2020.02.23
DML(INSERT, UPDATE, DELETE)  (0) 2020.02.23
? Placeholder  (0) 2020.02.23
Posted by codedragon codedragon

댓글을 달아 주세요



 

 

TPR vs FPR 예시

 

 

TPR 계산

 

 

Predict Negative

Predict Positive

Predict data

 

 

PN=0

PP=1

total

True Negative

TN=0

5 (TN)

2 (FP)

7 (N)

True  Positive

TP=1

3 (FN)

5 (TP)

8 (P)

Actual data

total

8

7

15

 

지표

계산값

TPR(True Positive Rate)

5/8=0.625

FPR(False Positive Rate)

2/7=0.2857

 




 

 

 

FPR 계산

 

 

Predict Negative

Predict Positive

Predict data

 

 

PN=0

PP=1

total

True Negative

TN=0

5 (TN)

2 (FP)

7 (N)

True  Positive

TP=1

3 (FN)

5 (TP)

8 (P)

Actual data

total

8

7

15

 

지표

계산값

TPR(True Positive Rate)

5/8=0.625

FPR(False Positive Rate)

2/7=0.2857

 


 

 



Posted by codedragon codedragon

댓글을 달아 주세요