python은 xlrd와 xlwt를 사용하여 excel에 대한 읽기와 형식 설정을 사용합니다
python 조작 excel은 주로 xlrd와 xlwt 두 라이브러리에 사용됩니다. 즉, xlrd는 excel을 읽고 xlwt는 excel을 쓰는 라이브러리입니다.본고는 주로python이 xlrd와xlwt를 사용하여 excel에 대한 읽기와 쓰기, 형식 설정을 소개했는데 다음은 더 이상 말하지 않고 상세한 실현 과정을 살펴보겠습니다.
스크립트에 #-*-coding:utf-8-*-
1. 원본 excel이 존재하는지 확인하고 첫 번째 폼의 줄마다 첫 번째 열의 수치를 xlrd로 읽습니다.
import xlrd, xlwt
import os
assert os.path.isfile('source_excel.xls'),"There is no timesheet exist. Exit..."
book = xlrd.open_workbook('source_excel.xls')
sheet=book.sheet_by_index(0)
for rows in range(sheet.nrows):
value = sheet.cell(rows,0).value
2. xlwt로 원본 테이블에서 읽은 데이터를 새 테이블에 쓸 준비를 하고 줄 넓이와 표의 형식을 설정합니다.셀 2행 8열을 병합하여 제목을 쓰고 이전에 정의된tittle_style.
write_를 사용합니다.merge.
wbk = xlwt.Workbook(encoding='utf-8')
sheet_w = wbk.add_sheet('write_after', cell_overwrite_ok=True)
sheet_w.col(3).width = 5000
tittle_style = xlwt.easyxf('font: height 300, name SimSun, colour_index red, bold on; align: wrap on, vert centre, horiz center;')
sheet_w.write_merge(0,2,0,8,u' ',tittle_style)
3. 함수에 전역 변수를 사용할 때 글로벌을 추가합니다.그렇지 않으면 나타날 것이다
UnboundLocalError:local variable'xxx' referenced before assignment.
check_num = 0
def check_data(sheet):
global check_num
check_num=check_num+1
4. 날짜와 형식이 있는 값을 기록합니다.원래 sheet에서 읽은 날짜 형식은 2014/4/10입니다. 처리된 날짜는 날짜만 보존하고 그룹을 쉼표로 구분해서 새 excel에 씁니다.
date_arr = []
date=sheet.cell(row,2).value.rsplit('/')[-1]
if date not in date_arr:
date_arr.append(date)
sheet_w.write_merge(row2,row2,6,6,date_num, normal_style)
sheet_w.write_merge(row2,row2,7,7,','.join(date_arr), normal_style)
5. excel에서 읽은 날짜 형식이 xldate일 때 xlrd의 xldate_를 사용해야 합니다as_tuple은date 형식으로 처리됩니다.먼저 표의ctype가 xldate인지 판단해야 조작을 시작할 수 있습니다. 그렇지 않으면 오류가 발생할 수 있습니다.이후date 형식은strftime를 사용하여string으로 전환할 수 있습니다.예:
date.strftime("%Y-%m-%d-%H")
from datetime import date,datetime
from xlrd import xldate_as_tuple
if (sheet.cell(rows,3).ctype == 3):
num=num+1
date_value = xldate_as_tuple(sheet.cell_value(rows,3),book.datemode)
date_tmp = date(*date_value[:3]).strftime("%d")
6. 마지막으로 새로 쓴 표 저장
wbk.save('new_excel.xls')
총결산
이상은 바로 이 글의 전체 내용입니다. 본고의 내용이 여러분의 학습이나 업무에 어느 정도 도움이 되고 의문이 있으면 댓글로 교류하시기 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.