개발 꿀팁/PYTHON

python이 xls 형식을 xlsx 형식으로 변환

Jammie 2022. 11. 25. 11:12
반응형

이 문제는 openpyxl이 xls 형식의 파일을 조작할 수 없기 때문에 openpyxl 패키지를 사용할 때 자주 발생하는 문제입니다.따라서 openpyxl의 사용은 항상 제한적이며 나중에 파이썬을 통해 xls를 xlsx 형식으로 변환할 수 있음을 발견했습니다.

1.설치팩:python-mpip install pypiwin32

2, 코드

import win32com.client as win32
import os
'''
xls와 xlsx 형식을 변환하는 데 사용됨
'''
def exchange(dir):
'''
:param dir: product_count, product_trend, product_before15 폴더
:return:
'''
path=os.path.abspath(__file__).split('src')[0]
path = os.path.join(path,'file','source_file',dir)
files = os.listdir(path)
for file_name in files:
if file_name.rsplit('.',1)[-1]=='xls':
fname = os.path.join(path,file_name)
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(fname)
#원래 위치에 생성: 원본 이름 +'.xlsx' 파일
wb.SaveAs(fname+"x", FileFormat = 51) #FileFormat = 51 is for .xlsx extension
wb.Close() #FileFormat = 56 is for .xls extension
excel.Application.Quit()
os.remove(fname)
exchange('product_sale')

// 작업할 xls 파일이 product_sale 폴더에 있다고 가정합니다

3.폴더에 있는 xls 형식 파일을 xlsx 형식으로 변환한 후 원래 xls 형식 파일을 삭제합니다.자신의 필요에 따라 조작을 삭제합니다

 

반응형