Excel에서 xls, xlsx 및 xlsm의 혼합 파일, Python을 사용하여 통합 된 방식으로 처리하는 방법을 확인하십시오.

위의 " Python 크롤러 및 데이터 마이닝 "을 클릭 하여 따르십시오.

초급부터 고급까지 총 10 권의 Python e-book을 받으려면 " Books "에 답장하십시오.

지금

수프

신부 실은 어제 밤에 붉은 양초를 멈추고 샤오 탕이 숙모를 숭배 할 때까지 기다렸다. 

소개

최근 몇 년 동안 사무 자동화 분야에서 파이썬 언어는 매우 인기가 있습니다! 실제로 VBA보다 일괄 처리에 사용하는 것이 훨씬 편리합니다.

이전 기사에서는 doc 파일을 docx 파일로 변환하는 방법을 설명했습니다 . 아직 시청하지 않은 친구는이 링크를 직접 클릭 합니다.

python-docx는 "doc 형식"파일을 처리 할 수 ​​없으므로 이렇게했습니다.

오늘은 급우 Huang이 Excel 파일을 처리 할 때 Python에서 발생하는 몇 가지 문제에 대해 토론 할 것입니다. Python에는 xlrd, xlwt 및 openpyxl 등 Excel 파일 처리 전용으로 일반적으로 사용되는 여러 라이브러리가 있습니다 .

  • xlrd 는 데이터를 읽을 수만 있고 xls 및 xlsx를 처리 할 수 ​​있습니다.

  • xlwt 는 데이터를 쓸 수만 있고 xls 만 처리 할 수 ​​있습니다.

  • openpyxl 은 데이터를 읽고 쓸 수 있지만 xlsx 만 처리 할 수 ​​있습니다.

처리 할 파일에 xls와 xlsx가 모두 포함되어 있으면 통합 형식으로 변환 한 다음 두 번 수정하는 것이 더 편리 하다고 생각 합니다.

동시에 다른 라이브러리에서 거의 지원하지 않는 xlsm 형식 인 Excel 파일도 있습니다 . 이 경우 컴퓨터에 Microsoft Excel 소프트웨어 (wps 아님)가 설치되어 있으면 로컬 Excel 소프트웨어를 호출하여 테이블 파일의 형식을 변환 한 다음 다른 작업을 수행 할 수 있습니다.

본문

코드를 제공하기 전에 여러분이 읽을 수 있도록 몇 가지 지식 포인트를 알려드립니다.

  • 이전 기사에서는 Word 문서를 다루고 있었기 때문에 여기에서 Word 프로그램을 호출했으며, Excel 문서를 처리하려면 여기에서 Excel 프로그램을 호출해야합니다.

  • Python에서 문서는 Documents로, 통합 문서는 Workbooks로 표시되므로 서로 다른 파일을 처리하려면 해당 파일을 열기 위해 서로 다른 속성을 호출해야합니다.

# 调用word程序
WordApp = win32com.client.Dispatch("Word.Application")
# 调用excel程序
WordApp = win32com.client.Dispatch("Excel.Application")

# 打开word文档
w.Documents.Open(path)
# 打开Excel工作簿
w.Workbooks.Open(path)

# 后台运行,不显示,不警告
WordApp.Visible = 0
WordApp.DisplayAlerts = 0

엑셀 파일의 형식이 가장 큽니다. 깊은 인상을 드리기 위해 요약을 드리도록하겠습니다.

여기서 강조해야합니다. 다음 코드에서 SaveAs를 사용하여 저장할 때 FileFormat 속성을 사용합니다. 여기서 :

  • FileFormat = 51 , 이는 xlsx 확장 파일을 의미합니다.

  • FileFormat = 56 , 이는 xls 확장 파일을 의미합니다.

  • FileFormat = 52 , 이는 xlsm 확장 파일을 의미합니다.

  • FileFormat = 23 , 이는 csv 확장 파일을 의미합니다.

좋습니다. 사전 준비 지식이 완료되었습니다. 여기에 모두를위한 코드가 있습니다.

import os
import time
import win32com
from win32com.client import Dispatch

def xls_xlsx(path):
   w = win32com.client.Dispatch('Excel.Application')
   w.Visible = 0
   w.DisplayAlerts = 0
   wb = w.Workbooks.Open(path)
   # 这里必须要绝对地址,保持和xls路径一致
   newpath = allpath+'\\转换后的文档.xlsx'

   wb.SaveAs(newpath,FileFormat = 51)
   # doc.Close() 开启则会删掉原来的dxls
   w.Quit()# 退出
   return newpath
allpath = os.getcwd()
print(allpath)
xls_xlsx(allpath+'\\转换前的文档.xls')

최종 결과 :

이 기사가 끝나면 코드에 주석이 첨부되어 이해할 수 있다고 믿습니다. 기사는 항상 약간의 생각의 여지가 있어야하므로 여기서는 반복하지 않겠습니다.

--- - --- --- --- - ---  끝  --- - --- - --- --- - -

이전 멋진 기사의 권장 사항 :

모두가 좋아하고 , 메시지를 남기고, 전달하고, 재 인쇄하고, 회사와 지원에 감사드립니다.

파이썬 학습 그룹에 참여하고 싶다면 백그라운드에서 답장 해주세요 [ 그룹 입력 ]

수천 개의 강과 산이 항상 사랑에 빠졌습니다. [찾아 보기 ] 를 클릭 할 수 있습니까?

/ 오늘의 메시지 주제 /

한두 마디 만 ~~

추천

출처blog.csdn.net/pdcfighting/article/details/113750047