Python 엑셀 의 그림 을 읽 는 완벽 한 해결 방법
인터넷 에서 매우 똑똑 한 방법 을 찾 았 는데 원 리 는 이렇다.
1.읽 을 엑셀 파일 접미사 이름 을 zip 로 바 꾸 고 압축 파일 로 바 꿉 니 다.
2.이 파일 의 압축 을 다시 풀 어 줍 니 다.
3.압축 을 푼 폴 더 에 엑셀 의 그림 이 있 습 니 다.
4.이렇게 엑셀 의 그림 을 읽 으 면 폴 더 의 그림 을 읽 는 것 이 되 고 일반 파일 과 마찬가지 로 여러 가지 처 리 를 할 수 있 습 니 다.
압축 해제 후의 압축 패 키 지 는 다음 과 같 습 니 다.
python 스 크 립 트 는 다음 과 같 습 니 다:
'''
File Name: readexcelimg
Author: tim
Date: 2018/7/26 19:52
Description: excel ,
excel zip , zip , ,
'''
import os
import zipfile
#
def isfile_exist(file_path):
if not os.path.isfile(file_path):
print("It's not a file or no such file exist ! %s" % file_path)
return False
else:
return True
# , excel .zip
def change_file_name(file_path, new_type='.zip'):
if not isfile_exist(file_path):
return ''
extend = os.path.splitext(file_path)[1] #
if extend != '.xlsx' and extend != '.xls':
print("It's not a excel file! %s" % file_path)
return False
file_name = os.path.basename(file_path) #
new_name = str(file_name.split('.')[0]) + new_type # , :xxx.zip
dir_path = os.path.dirname(file_path) #
new_path = os.path.join(dir_path, new_name) #
if os.path.exists(new_path):
os.remove(new_path)
os.rename(file_path, new_path) # ,
return new_path # ,
#
def unzip_file(zipfile_path):
if not isfile_exist(zipfile_path):
return False
if os.path.splitext(zipfile_path)[1] != '.zip':
print("It's not a zip file! %s" % zipfile_path)
return False
file_zip = zipfile.ZipFile(zipfile_path, 'r')
file_name = os.path.basename(zipfile_path) #
zipdir = os.path.join(os.path.dirname(zipfile_path), str(file_name.split('.')[0])) #
for files in file_zip.namelist():
file_zip.extract(files, os.path.join(zipfile_path, zipdir)) #
file_zip.close()
return True
# ,
def read_img(zipfile_path):
if not isfile_exist(zipfile_path):
return False
dir_path = os.path.dirname(zipfile_path) #
file_name = os.path.basename(zipfile_path) #
pic_dir = 'xl' + os.sep + 'media' # excel , , media
pic_path = os.path.join(dir_path, str(file_name.split('.')[0]), pic_dir)
file_list = os.listdir(pic_path)
for file in file_list:
filepath = os.path.join(pic_path, file)
print(filepath)
#
def compenent(excel_file_path):
zip_file_path = change_file_name(excel_file_path)
if zip_file_path != '':
if unzip_file(zip_file_path):
read_img(zip_file_path)
# main
if __name__ == '__main__':
compenent('/Users/Desktop/test/people.xlsx')
총결산위 에서 말 한 것 은 소 편 이 소개 한 Python 이 엑셀 의 그림 을 읽 는 완벽 한 해결 방법 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.