Python에서 Excel로 여러 테이블 병합을 구현하는 방법(코드 포함)

烟雨青岚
풀어 주다: 2020-06-30 13:41:04
앞으로
5819명이 탐색했습니다.

Python에서 Excel로 여러 테이블 병합을 구현하는 방법(코드 포함)

오늘은 Python을 사용하여 여러 Excel 워크시트를 하나의 통합 문서로 병합해 보겠습니다. 40줄 미만의 코드를 사용하여 60개 이상의 Excel 통합 문서를 하나로 병합해 보겠습니다.

이 기사에서는 openpyx 라이브러리를 사용하지 않고 xlrd 및 xlwt 라이브러리를 사용합니다. 이 두 라이브러리의 기능은 openpyx와 비교할 수 없지만 xls로 끝나는 이전 버전의 Excel을 실행할 수 있으며 openpyx는 해당 코드를 지원하지 않습니다.

일반적인 아이디어는 다음과 같습니다

루트 디렉터리에 있는 모든 엑셀 파일을 탐색하여 얻습니다.

    엑셀 이름에 따라 일치하여 특정 유형의 엑셀을 얻습니다.
  • 복사된 데이터를 쓰기 위한 통합 문서 만들기
  • 각 엑셀에는 Sheet1이 있습니다. 셀을 순환하며 생성된 워크북을 작성합니다
  • 자세한 과정은 코드에 작성되어 있습니다
  • # -*- coding: utf-8 -*-
    import xlrd
    import xlwt
    import os
    import re
    """ 写入工作本 """
    def write_excel(path, write_sheet):
        # 加载工作本
        book = xlrd.open_workbook(path)
        # 获取表单
        read_sheet = book.sheet_by_name('Sheet1')
        # 遍历
        for row in  range(read_sheet.nrows):
            for col in  range(read_sheet.ncols):
                write_sheet.write(row, col, read_sheet.cell_value(row,col))
                
    # 获取根目录下所有文件名
    def walk(path):
      for root,dirs,names in os.walk(path):
        list = []
        for filename in names:
            path = os.path.join(root, filename)
            list.append(path)
        return list
    if __name__ == "__main__":
        # 创建工作本
        write_book = xlwt.Workbook()
        # 根目录
        root = r'C:\mydata\generator\excel'
        path_list = walk(root)
        for path in path_list:
            val = path.find("本专科")
            if val!=-1:
            # 正则匹配
                ser = re.search('.*20200403(.*?).xls',path)
                name = ser.group(1)
                # 创建sheet
                write_sheet = write_book.add_sheet(name)
                # 写入
                write_excel(path, write_sheet)
        # 保存        
        write_book.save(r'本专科.xls')
    로그인 후 복사
읽어 주셔서 감사합니다. 많은 도움이 되길 바랍니다.

이 기사는 다음에서 복제되었습니다: https://blog.csdn.net/youku1327/article/details/105300668

추천 튜토리얼: "

python tutorial

"

위 내용은 Python에서 Excel로 여러 테이블 병합을 구현하는 방법(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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