Python 환경에서 Excel을 작동하는 방법

零到壹度
풀어 주다: 2018-04-14 10:36:05
원래의
1816명이 탐색했습니다.

이 글은 Python 환경에서 Excel을 작동하는 방법을 공유합니다. 필요한 경우 친구가 참조할 수 있습니다.

1. 사용 가능한 타사 라이브러리

일반적으로 사용되는 라이브러리 xlrd(엑셀 읽기) 테이블, xlwt(엑셀 쓰기) 테이블, openpyxl(엑셀 테이블 읽기 및 쓰기) 등을 포함합니다. 대용량 데이터가 포함된 엑셀 테이블을 읽을 때는 xlrd가 openpyxl보다 더 효율적이어서 스크립트를 작성할 때 xlrd와 xlwt 두 라이브러리를 사용했습니다. 이러한 라이브러리 파일 중 어느 것도 기존 Excel 테이블의 내용을 수정하는 기능을 제공하지 않습니다. 일반적으로 원본 Excel의 내용은 읽고 처리한 다음 새 Excel 파일에 쓰는 것만 가능합니다.

pip search excel를 사용하여 확인하실 수 있으며 더 많은 개발 패키지를 보실 수 있습니다.

2. 자주 묻는 질문

파이썬을 사용하여 엑셀 테이블을 처리할 때, 유니코드 인코딩과 엑셀에 기록되는 시간이라는 두 가지 더 어려운 문제를 발견했습니다.

파이썬의 기본 문자 인코딩은 유니코드이기 때문에 Excel에서 읽은 한자를 인쇄하거나 중국어 이름이 있는 Excel 표나 시트를 읽을 때 프로그램에서 UnicodeEncodeError: 'ascii' 코덱이 위치 0 -2의 문자를 인코딩할 수 없습니다: 서수라는 오류 메시지를 표시합니다. 범위(128) 내에 있지 않습니다. 이는 Windows에서 중국어는 gb2312 인코딩 방식을 사용하는데 Python은 이를 유니코드와 ASCII로 처리하여 디코딩하기 때문에 오류를 보고하기 때문입니다. 중국어 인쇄 문제를 해결하려면 VAR.encode('gb2312')를 사용하십시오. (때때로 결과가 출력되는 게 이상한데, 표시되는 것이 중국어가 아니고 코드 뭉치입니다.) 중국어 파일 이름으로 엑셀 표의 데이터를 읽으려면 앞에 'u'를 추가하면 됩니다. 나타내는 파일 이름 중국어 파일 이름은 유니코드로 인코딩됩니다.

엑셀에서는 시간과 날짜를 부동소수점 숫자로 표현합니다. '2013년 3월 20일'의 셀을 '일반' 형식으로 표현하면 내용은 '41353'이 되고, 셀 형식을 날짜로 변경하면 내용은 '2013년 3월 20일'이 되는 것을 알 수 있다. xlrd를 사용하여 Excel에서 날짜와 시간을 읽은 후 부동 소수점 숫자를 얻습니다. 따라서 Excel에 작성된 날짜와 시간이 부동 소수점 숫자인지 여부는 중요하지 않습니다. 일반적인 표현을 얻으려면 테이블의 표현을 날짜와 시간으로 변경하기만 하면 됩니다. Excel에서는 부동 소수점 숫자 1을 사용하여 1899년 12월 31일을 나타냅니다.

3. 자주 사용하는 함수

다음은 xlrd, xlwt, datetime의 날짜 관련 함수를 주로 소개합니다.

import xlrdimport xlwtfrom datetimedef testXlrd(filename):
    book=xlrd.open_workbook(filename)
    sh=book.sheet_by_index(0)    print "Worksheet name(s): ",book.sheet_names()[0]    print 'book.nsheets',book.nsheets    print 'sh.name:',sh.name,'sh.nrows:',sh.nrows,'sh.ncols:',sh.ncols    print 'A1:',sh.cell_value(rowx=0,colx=1)    #如果A3的内容为中文
    print 'A2:',sh.cell_value(0,2).encode('gb2312')def testXlwt(filename):
    book=xlwt.Workbook()
    sheet1=book.add_sheet('hello')
    book.add_sheet('word')
    sheet1.write(0,0,'hello')
    sheet1.write(0,1,'world')
    row1 = sheet1.row(1)
    row1.write(0,'A2')
    row1.write(1,'B2')

    sheet1.col(0).width = 10000

    sheet2 = book.get_sheet(1)
    sheet2.row(0).write(0,'Sheet 2 A1')
    sheet2.row(0).write(1,'Sheet 2 B1')
    sheet2.flush_row_data()

    sheet2.write(1,0,'Sheet 2 A3')
    sheet2.col(0).width = 5000
    sheet2.col(0).hidden = True

    book.save(filename)if __name__=='__main__':
    testXlrd(u'你好。xls')
    testXlwt('helloWord.xls')
    base=datetime.date(1899,12,31).toordinal()
    tmp=datetime.date(2013,07,16).toordinal()    print datetime.date.fromordinal(tmp+base-1).weekday()
로그인 후 복사

관련 권장 사항:

Python을 사용하여 Excel 파일 처리

Excel 처리용 Python 모듈

Excel 모듈의 다양한 Python 작업 비교

위 내용은 Python 환경에서 Excel을 작동하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!