외국 상품을 파는 가게 사장님의 홈페이지를 이전하는 과정에서 상품을 등록하는 과정을 외주로 받게 됐다.
현재 상품명은 {영어 / 제2외국어 [무게(kg/g)]} 혹은 {제2외국어 / 영어 [무게(kg/g)]}로 설정되어 있었다. (연속된 띄어쓰기는 0개 이상)
처음에는 제2외국어를 제거하려고 했지만 영어와 숫자가 아닌 것을 제거하는 것이 더 편하다는 것을 깨달았다.
아래는 현재 상품명이 저장된 name.xlsx 파일에서 상품명을 꺼내 정규표현식으로 {영어 [무게(kg/g)]}로 바꾼 후 rename.xlsx 파일에 저장하는 코드이다.
import openpyxl
import re
wb = openpyxl.load_workbook('name.xlsx')
sheet=wb.active
cells = sheet['A1':'A46']
list_var = []
for row in cells:
for cell in row:
list_var.append(cell.value)
for i in range(0, 20):
tmp = re.sub('[^0-9a-zA-Z]+', ' ', list_var[i]) # 이러면 .도 지워지는데, 사용하는 홈페이지에 이미지 등록할 때 파일 명에 .이 들어가면 안되서 .도 삭제해야 했음
list_var[i] = tmp
# 첫 번째가 공백이면 제거
for i in range(0, 46):
list_var[i] = list_var[i].strip()
for i in range(0, 46):
sheet.cell(row=i+1, column=1).value = list_var[i]
wb.save('rename.xlsx')
cells의 크기에 맞춰 반복문을 내가 수정해줘야 한다는 단점은 나중에 고치기로 한다.
'etc' 카테고리의 다른 글
| [Docker] Container 기술 (0) | 2020.01.07 |
|---|---|
| [Docker] dockerfile로 아파치 서버 연결 (0) | 2019.12.26 |
| [Docker] How to use docker #4 (0) | 2019.12.26 |
| [Docker] How to use docker #3 (0) | 2019.12.26 |
| [Docker] How to use docker #2 (0) | 2019.12.24 |