1. openpyxl 라이브러리 설치 (pip install openpyxl)
2. 작성 코드 실행
from openpyxl import Workbook
#result는 worksheet명 series
result = df_temp['page'].value_counts()
#column_names는 컬럼명
column_names = [table_index[0][0], table_index[1][0], table_index[2][0], table_index[3][0], table_index[4][0], table_index[5][0], table_index[6][0]]
write_wb = Workbook()
for i in result.index:
write_wb.create_sheet(i)
write_ws = write_wb[i]
for seq, name in enumerate(column_names):
write_ws.cell(row=1, column=seq+1, value=name)
sql_contents = "select * from pythondb.appendix_table where page ='{}' and item_value <> ''".format(i)
conn = pymysql.connect(host='', users='root', password='', db='pythondb', charset='utf8')
cur = conn.cursor()
cur.execute(sql_contents)
contents = cur.fetchall()
row_num = 2
for n, rows in enumerate(contents):
for seq, value in enumerate(rows):
write_ws.cell(row=row_num+n, column=seq+1, value=value)
write_wb.remove_sheet(write_wb['Sheet'])
3. 읽는 코드
from openpyxl import load_workbook
# data_only=True로 해줘야 수식이 아닌 값으로 받아온다.
load_wb = load_workbook("읽은 엑셀 파일 경로", data_only=True)
# 시트 이름으로 불러오기
load_ws = load_wb['Sheet1']
# 셀 주소로 값 출력
print(load_ws['B2'].value)
# 셀 좌표로 값 출력
print(load_ws.cell(3, 2).value)
# 지정한 셀의 값 출력
get_cells = load_ws['B3' : 'B6']
for row in get_cells:
for cell in row: print(cell.value)
# 모든 행 단위로 출력
for row in load_ws.rows:
print(row)
# 모든 열 단위로 출력
for column in load_ws.columns:
print(column)
# 모든 행과 열 출력
all_values = []
for row in load_ws.rows:
row_value = []
for cell in row:
row_value.append(cell.value)
all_values.append(row_value)
print(all_values)
load_ws.cell(3, 3, 51470)
load_ws.cell(4, 3, 21470)
load_ws.cell(5, 3, 1470)
load_ws.cell(6, 3, 6470)
load_wb.save("저장 파일 경로")
반응형
'스타트업 > 업무 자동화' 카테고리의 다른 글
[업무자동화] (4) python 결과 전송 (텔테그램) (0) | 2021.06.14 |
---|---|
[업무자동화] (4) python 결과 전송 (이메일) (0) | 2021.06.14 |
[업무자동화] (3) 보고서 작성 (파워포인트) (0) | 2021.06.14 |
[업무자동화] (1) DB화 (DB만들기) (0) | 2021.06.11 |
[업무자동화] (1) DB화 (DART 보고서 크롤링) (0) | 2021.06.11 |