개발 꿀팁/PYTHON

가장 완전한 파이썬 작업 엑셀

Jammie 2022. 11. 22. 10:41
반응형

디지털 시대에 많은 사람들이 업무 중에 엑셀과 자주 접촉합니다.이 글은 파이썬이 엑셀을 조작하는 스크립트를 소개하는데, 이는 당신이 더 효율적으로 일할 수 있게 한다

 

1. openpyxl 모듈
  
파이썬은 엑셀을 조작하는데 주로 openpyxl 모듈을 사용하는데 win+R을 눌러 cmd를 열고 안에 입력한다

pip3 install openpyxl

openpyxl 모듈을 성공적으로 설치할 수 있습니다.

 

 

2. 로딩 라이브러리
  
그런 다음 라이브러리를 로드하고 데이터가 저장된 폴더를 설정합니다.

import os
import random
import openpyxl
import numpy as np
import pandas as pd
from openpyxl.drawing.image import Image
from openpyxl.worksheet.table import Table,TableStyleInfo
from openpyxl.styles import Border, Side, PatternFill, Font, GradientFill, Alignment
from openpyxl.utils import get_column_letter,column_index_from_string
#가져오기 라이브러리

os.chdir(r'G:/python/13_python处理excel/')
#파일을 저장할 주소 설정

3. 파일 및 워크시트 만들기
  
그런 다음 다음과 같은 코드와 함께 파일 및 워크시트를 만듭니다

wb = openpyxl.Workbook()
#워크시트 만들기
wb_sht1 = wb.create_sheet(title='데이터 삽입', index=0)
wb_sht2 = wb.create_sheet(title='표 삽입', index=0)
wb.save('cs.xlsx')
wb.close()

결과:

다음과 같이 함수를 사용하여 워크시트를 삭제할 수도 있습니다

wb.remove(wb_sht1)

 

4. 워크시트에 셀을 지정하여 데이터 쓰기
  
다음으로 워크시트에 다음과 같은 코드를 사용하여 데이터를 작성합니다

#각 행에 행 번호를 기입하다
wb = openpyxl.Workbook()
#워크시트 만들기
wb_sht1 = wb.create_sheet(title='데이터 삽입', index=0)
wb_sht2 = wb.create_sheet(title='표 삽입', index=0)
for r_index in range(1, 10):
    for c_index in range(1, 10):
        wb_sht1.cell(row=r_index, column=c_index, value=r_index)

두 레이어 for 루프 제어는 해당 위치에 행 번호를 적어서 결과를 얻습니다.

5. 셀의 색상 글꼴 설정
  
이어서 A1 셀에서 폰트 크기, 색상, 테두리 선 설정을 테스트하고 코드는 다음과 같습니다

thin = Side(border_style="thin", color="FF0000")
#레드 가는 라인
double = Side(border_style="double", color="000000")
# 굵은 블랙 라인
wb_sht1_A1 = wb_sht1["A1"]
#색깔을 조정할 셀 선택
wb_sht1_A1.font = Font(b=True, color='008000')
#셀 글꼴 색상 설정
wb_sht1_A1.alignment = Alignment(horizontal='left', vertical='center')
#셀 배열 방식 설정
wb_sht1_A1.border = Border(top=double, left=thin, right=thin, bottom=double)
#테두리 라인 설정
wb_sht1_A1.fill = PatternFill("solid", fgColor="0000FF")
#셀 채우기 색상 설정

결과를 얻다:

6. 엑셀에 표 쓰기
  
마지막으로 엑셀에 다음과 같은 코드를 적어주세요

os.chdir(r'G:/python/13_python처리엑셀/')
#서류가 저장될 주소 설정
wb = openpyxl.Workbook( )
#워크시트 만들기
wb_sht1 = wb.create_sheet (title='데이터 삽입', index=0)
wb_sht2 = wb.create_sheet (title='테이블 삽입', index=0)
date = pd.DataFrame(np.random.randint(20, 50, (4, 4))
col_name = ['col1', 'col2', 'col3', 'col4']
date.columns = col_name
wb_sht2.append(col_name)
for row in range(date.shape[0]):
wb_sht2.append(list(date.iloc[row,]))
table = Table (id=1, displayName='excel_table3', ref='A1:D4')
wb_sht2.add_table(table)
wb.save('cs1.xlsx')
wb.close( )

결과를 얻다:

이로써 파이썬에 있는 openpyxl 모듈로 엑셀 코드를 조작하는 것에 대한 설명이 완료되었습니다.관심 있는 친구들은 이 코드를 더 깊이 테스트할 수 있습니다.이 기사에서는 기본 코드만 제공했으며 더 많은 특수 요구 사항은 이 코드를 기반으로 조정할 수 있습니다.엑셀에 포맷을 해놓고 데이터만 문서에 붙이려면 엑셀 모듈을 불러 엑셀 작업을 할 수도 있다

 

반응형

'개발 꿀팁 > PYTHON' 카테고리의 다른 글

[파이썬 상용함수 모음]  (0) 2022.11.22
[파이썬의 filter 함수]  (0) 2022.11.22
【Pytho상용 함수]  (0) 2022.11.22
파이썬 크리스마스 선물 그리기  (0) 2022.11.21
[python] 설날 불꽃쇼  (0) 2022.11.21