인프런 커뮤니티 질문&답변
list 데이터를 하나의 셀에 입력 할 수 있나요?
작성
·
280
1
위 강의를 보고 응용해보고자 하는중인데
아래 코드와 같이 작업하여
A1하나의 셀에 cmt 데이터를 다 넣고 싶은데
A1, A2, A3 이렇게 입력이 됩니다.
어떻게 방법이 없을까요?
rom pickle import APPEND
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager # 크롬 드라이버 자동 업데이트
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import requests, openpyxl, time, pyautogui
# 브라우저 꺼짐 방지
chrome_options = Options()
chrome_options.add_experimental_option("detach", True)
#chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"]) # 불필요한 에러 메세지 없애기
# 셀레니움 드라이버 세팅
service = Service(executable_path=ChromeDriverManager().install())
browser = webdriver.Chrome(service=service,options=chrome_options)
wb = openpyxl.Workbook()
ws = wb.active
ws.append(['이미지','순번', '시즌', '스타일', '컬러', '스타일명', '택가', '판매가', '선호도', '상품설명', '혼용률', '제조년월','URL'])
ws.column_dimensions['A'].width = 5
ws.column_dimensions['B'].width = 5
ws.column_dimensions['C'].width = 5
ws.column_dimensions['D'].width = 15
ws.column_dimensions['E'].width = 10
ws.column_dimensions['F'].width = 30
ws.column_dimensions['G'].width = 10
ws.column_dimensions['H'].width = 10
ws.column_dimensions['I'].width = 10
ws.column_dimensions['J'].width = 10
ws.column_dimensions['k'].width = 10
ws.column_dimensions['l'].width = 10
ws.column_dimensions['m'].width = 10
browser.implicitly_wait(5) # 웹페이지가 로딩 될때까지 5초는 기다림
browser.maximize_window() # 화면 최대화
url = f"https://www.creasmall.com/display/category/goods/list/form?brandGrpNo=0&cateGb=G032_101&cate1No=1200"
browser.get(url) # 주소 이동
browser.execute_script("location.reload()")
browser.find_element(By.CSS_SELECTOR, f'#contents > div > section.filter-item-wrap > div:nth-child(2) > a').click()
browser.find_element(By.CSS_SELECTOR, f'#contents > div > section.filter-item-wrap > div:nth-child(2) > div > ul > li:nth-child(3) > a > span').click()
time.sleep(0.1)
browser.find_element(By.CSS_SELECTOR, f'#contents > div > section.filter-item-wrap > div:nth-child(1) > a').click()
browser.find_element(By.CSS_SELECTOR, f'#cy1201 > span').click()
time.sleep(0.1)
items = browser.find_elements(By.CSS_SELECTOR, '#goodsArea > li >a')
for i, item in enumerate(items, 1):
if i >= 31 and i <= 31:
time.sleep(0.1)
browser.find_element(By.CSS_SELECTOR, f'#goodsArea > li:nth-child({i}) > a').click()
time.sleep(0.1)
comments = browser.find_elements(By.CSS_SELECTOR, '#reviewDiv > div.review-list-wrap > ul > li > div > a > div.cdesc')
for comment in comments:
cmt = comment.text
ws.append([cmt])
wb.save('dd3sdf33dk.xlsx')
browser.quit()
답변 1
0
스타트코딩
지식공유자
응용을 하고 계시다니,
대단하십니다 ^^
A1하나의 셀에 cmt 데이터를 다 넣고 싶은데
A1, A2, A3 이렇게 입력이 됩니다.
-> cmt 변수의 데이터는 어떻게 되어 있나요? 문자열 데이터라면
ws.append([cmt]) 를 하면 A1 셀에만 입력이 될텐데요.
cmt 변수데이터와 엑셀 파일이 어떻게 되는지 알려주세요 :)
(코드 들여쓰기가 안되서 정확한 해석이 불가능합니다, 들여쓰기를 맞추고 질문해 주세요)





