2018년 8월 13일 월요일
Python에서 excel 처리 (openpyxl)
openpyxl을 처음 사용해보면서 이것 저것 테스트해 본 코드이다.
실제 워크북을 읽어들인 후에 수정한 이후 저장하였을때
reference가 아닌 해당 cell에 직접 수정을 가하여야 반영되는 것 같은데 조금 더 사용해 봐야 할 것 같다.
Workbook은
1. Workbook()으로 빈 workbook을 생성하거나
2. load_workbook()으로 파일내용을 access 가능하다.
Workbook내에는 여러 sheet들이 있고
이 sheet들의 access는
1. workbook.worksheets로 list들로 받아 올 수 있으며
2. 바로 workbook[sheetname]으로 sheet를 받아 올 수 있다.
sheet에서는 iterator를
1. sheet.iter_rows() 나
2. sheet.rows 를 통하여 row / column의 iterator를 얻어 올 수 있다.
3. sheet['1'] 이나 sheet['A']로도 얻어올 수 있다.
cell을 access하기 위해서는
1. 각 row나 column에서 cell을 access할 수도 있고
2. sheet['A1']나 sheet['A1:B2'] 형태로 하나 및 그 이상의 cell을 access할 수 있고
3. Cell 함수를 이용할 수도 있다.
cell에 값을 넣을때
1. sheet['A1'] = value 와 같이 바로 assign이 가능하며
2. cell.value = value로 assign도 가능하다.
from os import listdir
import os
from openpyxl import load_workbook, Workbook
def copyexcel(sfn, tfn):
sx = load_workbook(sfn, read_only=True)
if(sx == ''):
return
ssheet = sx.active
tx = Workbook()
tsheet = tx.create_sheet('Sheet')
'''
ws = sx.worksheets
wsn = sx.sheetnames
ssheet = sx["sheetname"]
row = sheet['1']
col = sheet['A']
rows = sheet['1:2']
cols = sheet['A:B']
rows = sheet['A2:B3']
sheet['A1'] = 'my input data'
sheet.append['A1-data', 'B1-data', 'C1-data']
sheet.append['A2-data', 'B2-data', 'C2-data']
cell = sheet['A1']
cell.data_type = c.TYPE_BOOL, c.TYPE_ERROR, C.TYPE_FORMULA, c.TYPE_FORMULA_CACHE_STRING, c.TYPE_INLINE, c.TYPE_NULL, c.TYPENUMERIC, c.TYPE_STRING
'''
for row in ssheet.iter_rows():
row_data = []
for cell in row:
row_data.append(cell.value)
tsheet.append(row_data)
tx.save(tfn)
def main():
files = listdir('.')
for f in files:
if os.path.isdir(f):
continue
if f[-4:] != 'xlsx':
continue
fn = f[:-5]
newfn = fn + '_new' + '.xlsx'
copyexcel(f, newfn)
if __name__ == "__main__":
main()
피드 구독하기:
댓글 (Atom)
200926.가오리코스 라이딩
9/26 골절인지 아닌지 확인 안됨. 이후 미세골절여부 확인 핸드폰을 드는 것도 어려움 9/29 x ray 다시 찍지 않고 이후 재 방문 요청 ...
-
벌써 강습 2주차 아직 음 ~ 파 ~ 가 잘 안되는지, 금방 숨이 차오르고 숨쉬기가 잘 안된다. 특히, 오늘은 숨쉬기가 더 힘들었던 것 같다. 1주일을 했는데 아직도 허벅지가 아프고 힘이 많이 든다. 오늘은 오늘도 음 ~ 파 ~ 하면서 발차기 하면서...
-
오늘은 몸풀기 : 키판+발차기, 자유형, 배영 발차기, 배영 중요학습 내용 및 포인트 오늘은 계속 뺑뺑이... (평형은 이야기만 하고.. 안갈켜주네... ㅠㅠ 그렇게 자세가 안되었나? ㅠㅠ) 나름 머리를 집어 넣고 발차기를 오리발 신은 것처럼 해보려 ...
댓글 없음:
댓글 쓰기