개발안전 결제자세히
- 패키지 범위 내 수정은 무료입니다.
- 납품 후 3일 이내에 응답하지 않으면 작업이 자동으로 승인됩니다.
결제 시 금액이 예치되며, 작업을 승인해야만 지급됩니다.

결과물 예시
매장 9곳의 월별 매출 파일을 Excel 보고서 하나로 합치기
실행 방법
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO 폴더: sales/2026-10, 파일 9개 발견
2026-11-02 09:14:03 INFO shop-01.csv: 1,284행
2026-11-02 09:14:04 INFO shop-02.xlsx: 967행
2026-11-02 09:14:04 WARN shop-07.csv: 가격 없는 3행 건너뜀 (88, 412, 913번 줄)
2026-11-02 09:14:05 INFO 완료: 10,412행 -> report-2026-10.xlsx ("매출", "합계" 시트)
코드가 아닌 설정으로
매장별 열 이름은 settings.ini에 있어서, 매장이 새로 생기거나 열 이름이 바뀌면 그곳에 한 줄만 고치면 됩니다.
[columns]
date = 날짜, 판매일, 일자
product = 상품, 품목, 상품명
quantity = 수량, 개수, 판매 수량
price = 가격, 단가
코드 일부
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""매장 파일 하나를 읽고 열 이름을 보고서 기준으로 바꿉니다."""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name}: '{name}'에 해당하는 열이 없습니다 (찾은 이름: {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
파일: merge_sales.py(310줄), settings.ini, requirements.txt, 그리고 Python 설치, 스크립트 실행, 로그 메시지별 의미를 설명한 README가 들어 있는 ZIP 압축 파일. 고객이 자신의 컴퓨터에서 직접 실행합니다.
고객: 문구점 9곳을 운영하는 작은 체인. 매장마다 한 달 매출을 CSV나 Excel 파일로 보내는데, 열 이름이 조금씩 다릅니다. 과제: 폴더 안의 모든 파일을 읽고 열을 하나의 형식으로 맞춘 뒤, 전체 매출과 매장별 합계 시트가 담긴 Excel 보고서 하나로 저장하는 스크립트.
고객과 모든 정보는 가상입니다.
서비스 소개
Shopify는 CSV 파일로 상품을 가져오지만, 자체 형식만 받습니다. 상품과 그 모든 옵션에 하나의 Handle, 정해진 열에 옵션 이름과 값, 공개 링크로 된 이미지가 필요합니다. 이 Python 스크립트는 가지고 계신 파일(공급업체 가격표, 기존 쇼핑몰 내보내기 파일, 직접 만든 Excel)을 그 형식으로 바꿉니다. 열을 Shopify 열에 맞추고, 스탠다드부터는 사이즈와 색상을 옵션으로 만들며, 가격과 재고를 정리하고 태그를 붙입니다. 관리자 화면에서 내려받을 수 있는 Shopify의 최신 상품 CSV 템플릿을 따릅니다. 이미지는 Shopify가 열 수 있는 링크에 있어야 합니다. 파일은 고객님이 직접 Shopify에서 가져오시며, 저희는 쇼핑몰에 절대 로그인하지 않습니다. 먼저 상품 몇 개로 시험해 보세요. 결과는 데이터가 완전한 만큼만 완전합니다.
포함 사항
- 받으시는 결과물Python 스크립트, 단계별 안내가 담긴 README, 스탠다드부터는 열 매핑이 담긴 설정 파일이 들어 있는 ZIP 압축 파일. 코드는 주문 페이지에서도 볼 수 있습니다.
- Shopify 형식Shopify의 최신 상품 CSV 템플릿 기준
- 옵션 묶기스탠다드부터, 사이즈와 색상을 상품 하나 아래로
- 깔끔한 가격과 재고통화 기호나 공백 없이 Shopify가 받는 숫자로
- 문제 목록가격, SKU, 이미지가 없는 행을 보고
- 읽기 쉬운 코드주석이 있어 나중에 열 추가가 쉬움
진행 방식
- 1파일상품 파일 샘플을 보내고 무엇이 어디로 갈지 알려 주세요
- 2코드스크립트와 실행 안내서를 작성합니다
- 3시험 실행상품 몇 개를 Shopify로 가져와 확인해 보세요
- 4수정패키지 범위 안에서 수정을 요청하고 오류 메시지가 있으면 보내 주세요
준비해 주실 내용
가지고 계신 파일(공급업체 가격표, 기존 쇼핑몰 내보내기, 직접 만든 표)의 20~30행, 옵션 표기 방식(사이즈마다 한 행, 또는 한 셀에 여러 사이즈), 이미지 위치(링크, 또는 먼저 Shopify에 올릴 파일), 가격 설정 방식. 있다면 열을 정확히 맞출 수 있도록 Shopify 쇼핑몰에서 내보낸 상품 몇 개. 운영 체제: Windows, macOS 또는 Linux.
다음 내용을 여쭤봅니다:
- 지금 어떤 파일이 있나요?
- 옵션은 어떻게 적혀 있나요?
- 이미지는 어디에 있나요?
- 가격은 어떻게 정할까요?
패키지 비교
안전 결제
주문할 때 결제하지만, 대금은 승인된 작업에 대해서만 지급됩니다.
- 고정 가격결제 후에는 패키지 가격이 변경되지 않습니다.
- 금액 예치결제 시 금액은 예치만 됩니다. 작업을 승인하면 서비스에 지급됩니다.
- 납품 전 검수모든 결과물은 전달되기 전에 품질 검수를 거치며, 승인하기 전에 주문 페이지에서 확인할 수 있습니다.
- 무료 수정패키지에서 허용하는 횟수만큼 요청 사항 범위 내에서 수정을 요청할 수 있습니다.
- 3일 후 자동 승인납품 후 3일 이내에 작업을 승인하거나 수정을 요청하지 않으면 자동으로 승인됩니다. 납품 후 주문 채팅에 메시지를 남기면 주문은 대기 상태가 됩니다. 저희가 답변한 뒤 3일을 다시 시작할 수 있으며, 이 경우 채팅으로 알려 드립니다.
- 재작업 또는 전액 환불결과물이 요청 사항과 맞지 않고 수정으로도 해결되지 않았거나, 작업이 작업 기간의 두 배를 넘겨 지연되면 주문 채팅에 알려 주세요. 작업을 다시 하거나 결제 금액을 전액 환불해 드립니다.
질문과 답변
상품을 제 쇼핑몰에 가져와 주시나요?
아니요. 저희는 쇼핑몰에 절대 로그인하지 않습니다. CSV는 고객님이 직접 Shopify 관리자 화면에서 가져오시며, 어디서 어떤 옵션을 고르는지 README에 나와 있습니다.
이미지가 제 컴퓨터에 있는 파일이라면요?
Shopify는 CSV에서 열 수 있는 링크로만 이미지를 받습니다. 먼저 Shopify의 파일 메뉴에 올리고 그 링크 목록을 스크립트에 주시거나, 공급업체가 주는 링크를 쓰세요.
이미 있는 상품의 가격과 재고를 업데이트할 수 있나요?
네, Handle이 기존 상품과 같다면 가능합니다. Shopify는 가져올 때 같은 Handle의 상품을 덮어쓸 수 있습니다. 먼저 상품 몇 개로 시험해 보세요.
상품 설명도 써 주나요?
아니요. 파일 속 설명과 정보를 옮기고 서식을 정리할 수는 있습니다. 없는 텍스트는 비워 두고 보고합니다.
답을 찾지 못하셨나요?


