Python 을 사용 하여 엑셀 작업 지침 을 봉인 합 니 다.
openpyxl 은 python 에서 엑셀 표를 조작 하 는 데 자주 사용 되 는 라 이브 러 리 로 엑셀 파일 을 읽 고 기록 할 수 있 으 며[xlsx/xlsm/xlx/xltm]형식의 파일 을 지원 하 며 엑셀 데이터,공식,스타일 을 처리 할 수 있 으 며 표 에 도 표를 삽입 할 수 있 습 니 다.
그러나 실제 프로젝트 의 사용 과정 에서 openpyxl 을 자주 사용 하여 조작 하고 해당 하 는 패 키 징 을 하려 면 적은 노력 으로 큰 효 과 를 거 둘 수 있다.
구조 설명
- - config 폴 더 설정
- - - - dir_config.py 파일 경로 등 관련 정보 설정
- - - - excel_handler.py 엑셀 봉인 작업 에 사용
- - exceldir 표 파일 저장 경로
- - run.py 실행 파일
코드 분석
excel_handler.py
from openpyxl import load_workbook
from openpyxl.worksheet.worksheet import Worksheet
class ExcelHandler():
'''
Excel
'''
def __init__(self, file):
''' '''
self.file = file
def open_sheet(self, sheet_name) -> Worksheet:
''' '''
wb = load_workbook(self.file)
sheet = wb[sheet_name]
return sheet
def read_header(self, sheet_name):
''' '''
sheet = self.open_sheet(sheet_name)
headers = []
for i in sheet[1]:
headers.append(i.value)
return headers
def read_rows(self,sheet_name):
'''
( )
, , for *
'''
sheet = self.open_sheet(sheet_name)
rows = list(sheet.rows)[1:]
data = []
for row in rows:
row_data = []
for cell in row:
row_data.append(cell.value)
data.append(row_data)
return data
def read_key_value(self,sheet_name):
'''
, ( )
:[
{' ':1,' ': '680021685898',' ':' '},
{' ':2,' ': '680021685899',' ':' '}
]
'''
sheet = self.open_sheet(sheet_name)
rows = list(sheet.rows)
#
data = []
for row in rows[1:]:
rwo_data = []
for cell in row:
rwo_data.append(cell.value)
# , zip
data_dict = dict(zip(self.read_header(sheet_name),rwo_data))
data.append(data_dict)
return data
@staticmethod
def write_change(file,sheet_name,row,column,data):
''' Excel '''
wb = load_workbook(file)
sheet = wb[sheet_name]
#
sheet.cell(row,column).value = data
#
wb.save(file)
#
wb.close()
Excel 데 이 터 를 기록 하 는 단 계 는 정적 방법 을 사 용 했 습 니 다.파일 을 읽 을 때 저장 할 필요 가 없 기 때 문 입 니 다.파일 을 수정 한 후에 저장 하지 않 으 면 다른 곳 에서 이 방법 을 호출 하면 오류 가 발생 할 수 있 기 때문에 엑셀 을 수정 할 때마다 한 번 씩 저장 합 니 다.dir_config.py
import os
# ExcelDemo
base_dir = os.path.split(os.path.split(os.path.abspath(__file__))[0])[0]
# excel
excel_dir = os.path.join(base_dir,'excedir')
run.py
import os
from ExcelDemo.config.excel_handler import ExcelHandler
from ExcelDemo.config import dir_config
excelfile = os.path.join(dir_config.excel_dir,' .xlsx')
if __name__ == '__main__':
excel = ExcelHandler(excelfile)
header = excel.read_header('Sheet1')
data = excel.read_rows('Sheet1')
data2 = excel.read_key_value('Sheet1')
print(header)
'''
[' ', ' ', ' ', ' ', ' ']
'''
print('**********************************')
print(data)
'''
[
[1, '680021685898', ' ', 20200503, 'CZ6754'],
[2, '189000177074', '( ) ', 20200603, 'CZ6880'],
[3, '480005387697', ' ', 20200612, 'CZ5390'],
[4, '380025990156', ' ', 20200619, 'CZ6622']
]
'''
print('**********************************')
print(data2)
'''
[
{' ': 1, ' ': '680021685898', ' ': ' ', ' ':20200503, ' ': 'CZ6754'},
{' ': 2, ' ': '189000177074', ' ': '( ) ', ' ': 20200603, ' ': 'CZ6880'},
{' ': 3, ' ': '480005387697', ' ': '( ) ', ' ': 20200612, ' ': 'CZ5390'},
{' ': 4, ' ': '380025990156', ' ': ' ', ' ': 20200619, ' ': 'CZ6622'}
]
'''
excel.write_change(excelfile,'Sheet1',6,5,' ')
excel.write_change(excelfile,'Sheet1',2,3,' ')
수정 후 표 내용총결산
파 이 썬 패 키 징 엑셀 작업 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 파 이 썬 패 키 징 엑셀 작업 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.