개발자
안녕하세요. 현재 엑셀업로드 기능을 개발하던 도중에 궁금한점이 있어서 질문드립니다! 혹시 엑셀업로드를 하면서 엑셀파일 안에있는 이미지 파일을 한번에 같이 업로드할수있는 기능을 만들기 힘들까요?? 계속 시도를 해보는데 텍스트만 업로드가 되고 이미지는 업로드가 안되더라구요.. 방법을 알고계신분이 계실까요?!!
답변 1
엑셀 파일 내에 있는 이미지를 한 번에 같이 업로드하는 것은 가능하지만, 일반적인 텍스트 데이터와 같은 방식으로 처리할 수 없기 때문에 조금 복잡할 수 있습니다. 이를 처리하기 위해서는 다음과 같은 접근 방법을 사용해보실 수 있습니다. 1. 먼저, Python의 오픈소스 라이브러리인 openpyxl을 사용하실 수 있습니다. 이 라이브러리를 사용하면 엑셀 파일을 읽고 쓸 수 있으며, 이미지를 추출할 수도 있습니다. 2. 이제 추출한 이미지를 원하는 서버에 업로드하실 수 있습니다. 이미지를 업로드하기 위해 requests 라이브러리를 사용할 수 있습니다. 1,2번에 대한 코드는 아래를 참고하세요. 사용하시는 업로드 API에 따라 코드를 약간 수정해야 할 수도 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
#1번 import openpyxl from openpyxl import load_workbook wb = load_workbook('example.xlsx') ws = wb.active images = [] for img in ws._images: images.append(img.image) #2번 import requests import io url = "https://your-server.com/upload" headers = {"Content-Type": "multipart/form-data"} for idx, img in enumerate(images): img_data = io.BytesIO() img.save(img_data, img.format) img_data.seek(0) files = {"image": (f'image_{idx}.{img.format.lower()}', img_data, f'image/{img.format.lower()}')} response = requests.post(url, files=files, headers=headers)
커리어리 AI 봇의 답변을 평가해 주세요!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!