Python 은 openpyxl 대량 처리 데 이 터 를 사용 합 니 다.

앞에서 말 했 듯 이 엑셀 처리 데 이 터 를 자주 사용 하기 때문에 표 안의 선별,표 간 데이터 의 복 제 는 모두 간단 하고 중복 되 는 조작 으로 매우 지루 하 다.효율 을 높이 기 위해 주로 자신 이 게 으 르 고 openpyxl 을 연구 한 결과 개인 노 동량 을 간소화 할 수 있 고 자신 도 소 백 이라는 것 을 발견 했다.일부러 글 을 써 서 공동으로 토론 했다.
openpyxl 설치
이것 은 간단 하면 서도 간단 하 다.바로pip install openpyxl 어렵 고 어렵 습 니 다.많은 사람들 이 설치 에 성공 하지 못 하고 각종 신문 이 잘못 되 었 으 며 잘못 은 모두 영어 이기 때문에 아직 읽 을 수 없습니다.여러분 은 openpyxl 을 검색 하여 설치 할 수 있 습 니 다.튜 토리 얼 지도 가 있 으 니 문제 가 크 지 않 을 것 입 니 다.
공 부 를 시작 하 다
우선 라 이브 러 리 openpyxl 가 져 오기import openpyxl as op'라 이브 러 리 를 도입 하고 라 이브 러 리 의 이름 을 op 으로 바 꾸 면 뒤의 조작 에 많은 자 모 를 적 게 칠 수 있다.게 으 름 이 야 말로 사회 발전 을 추진 하 는 계단 이기 때문이다.'
지정 한 시트 열기

wb = op.load_workbook('C:\\Users\\Administrator\\Desktop\\   .xlsx')
주의\에서 첫 번 째 슬 래 쉬 는 이동 문자 입 니 다.xlsx 야 말로 openpyxl 에서 처리 할 수 있 는 형식 입 니 다.
시트 에 어떤 하위 시트 가 있 는 지 표시 합 니 다.

print(wb.sheetnames)
내 가 조작 한 워 크 시트 에는 표 가 하나 밖 에 없 는데,코드 표시 결 과 는?
在这里插入图片描述
조작 시트
작업 표를 실행 하려 면 먼저 선택 하 십시오.

w1 = wb[' 1']
이 시 계 를 선택 할 수 있 는 여러 가지 방법 이 있 습 니 다.여기 서 가장 간단 한 것 은 워 크 시트+하위 표 이름 입 니 다.
A1 표 의 내용 을 인쇄 하 다.

print((w1['A1'].value))
표 의 내용 을 인쇄 합 니 다.

for i in w1['A']:
    print(i.value)
표 의 일부분 을 인쇄 하 다.

for i in w1['A2':'A5']:
    for j in i:
        print(j.value)
여기 서 순환 을 하나 더 추 가 했 습 니 다.한 열 에 있 는 표 중 일 부 를 선택 할 때(A2 에서 A5)첫 번 째 순환 에서 발생 하 는 형식 과 전체 열 을 선택 한 형식 이 다 를 수 있 습 니 다.다시 순환 해 야 셀 값 에 접근 할 수 있 습 니 다.
어떤 열의 내용 을 대량으로 변경 합 니 다.
这是例表
우 리 는 호주 의 이름 이라는 열 에 숫자 를 넣 을 것 이다.한 번 은 1,2,3,4...

import openpyxl as op
wb = op.load_workbook('C:\\Users\\Administrator\\Desktop\\   .xlsx')
print(wb.sheetnames)
w1 = wb[' 1']
m = 0
for i in w1['B3':'B12']:
    for j in i:
        m = m + 1
        s = j.value + str(m)
        w1['B%d'%(m+2)] = s
wb.save('C:\\Users\\Administrator\\Desktop\\   .xlsx')
실행 후 표 는 다음 과 같 습 니 다.
姓名后依次增加一个数字
주의해 야 할 것 은 작업 할 때 표 는 닫 힌 상태 이 고 작업 이 끝나 면 명령 을 저장 해 야 한 다 는 것 이다.
어떤 내용 에 근거 하여 대응 하 는 항목 의 내용 을 바꾸다
이름 에'레이'라 는 글 자 를 포함 하고 있다 면 전 화 를 0 으로 변경 해 야 합 니 다.

import openpyxl as op
wb = op.load_workbook('C:\\Users\\Administrator\\Desktop\\   .xlsx')
print(wb.sheetnames)
w1 = wb[' 1']
m = 0
for i in w1['B3':'B12']:
    for j in i:
        for n in j.value:
            if n == ' ':
                s = str(j)
                s = s[-3:]
                s = ''.join([x for x in s if x.isdigit()])
                s = int(s)
                w1['D%d'%s] = 0
                print(s)
wb.save('C:\\Users\\Administrator\\Desktop\\   .xlsx')
이 코드 는 우리 의 요 구 를 실현 했다.즉,이름 이'레이'라 는 글 자 를 포함 하면 전 화 를 0 으로 바 꿔 야 한다.그러나 매우 추 하 다.왜냐하면 나 는 간결 한 명령 이나 방법 을 찾 지 못 했 기 때문에 단원 격 매개 변수 에 따라 해당 하 는 줄 수 를 선별 하 는 것 을 실현 했다.이것 이 바로 이 코드 의 결과 이다.
在这里插入图片描述
총결산
python 은 매우 강력 합 니 다.openpyxl 도 매우 강력 합 니 다.Excel 데 이 터 를 대량으로 처리 할 수 있 습 니 다.그러나 본인 python 의 기초 가 부족 하고 코드 가 정말 보기 싫 습 니 다.큰 신의 조언 이 있 기 를 바 랍 니 다.하나,둘,공동으로 python 수준 을 향상 시 키 기 를 바 랍 니 다.
이상 은 Python 이 openpyxl 을 사용 하여 데 이 터 를 대량으로 처리 하 는 상세 한 내용 입 니 다.Python 의 대량 처리 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기