한글 표의 필드명 표시방법이 있을까요?
해결됨
직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
한글문서 표 안에 셀 별로 필드명을 지정했습니다. 일반 문서의 필드명은 누름틀 이름이 나오는데 셀의 필드명은 표시가 되지 않더라구요.. 셀의 필드명 확인하기가 번거로운데 혹시 방법이나 팁이 있나 싶어 여쭤봅니다
- python
- 한컴오피스
172만명의 커뮤니티!! 함께 토론해봐요.
해결됨
직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
한글문서 표 안에 셀 별로 필드명을 지정했습니다. 일반 문서의 필드명은 누름틀 이름이 나오는데 셀의 필드명은 표시가 되지 않더라구요.. 셀의 필드명 확인하기가 번거로운데 혹시 방법이나 팁이 있나 싶어 여쭤봅니다
해결됨
직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
2-4. [응용] 엑셀문서 값을 필드에 입력하기 관련입니다. ※ 원 질문글 올린 이후, 공부해서 이 글에 자문자답하였습니다. 검토 부탁드립니다. 감사합니다. 질문을 드리기 위하여 파이썬 콘솔(IPython 적용)에서 진행한 코드를 아래에 먼저 제시 후 말씀드리겠습니다. excel = win32.gencache.EnsureDispatch("Excel.Application") excel.Visible = True wb = excel.Workbooks.Open(r"c:\Users\user\desktop\취미.xlsx") ws = wb.Worksheets(1) row = 2 data = list(ws.Range(ws.Cells(row,1), ws.Cells(row,4)).Value[0]) print(data[2]) 1984-05-14 00:00:00+00:00 row = 2 data = list(ws.Range(ws.Cells(row,1), ws.Cells(row,4)).Value) print(data[2]) Traceback (most recent call last): File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\IPython\core\interactiveshell.py", line 3577, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "<ipython-input-9-a5cbf3d139c3>", line 1, in <module> print(data[2]) IndexError: list index out of range # 아래는, data = ~~~.value[0] 일 경우의 데이터 형태를 출력해 보기 위함. data = list(ws.Range(ws.Cells(row,1), ws.Cells(row,4)).Value[0]) print(data) ['마크', '남', pywintypes.datetime(1984, 5, 14, 0, 0, tzinfo=TimeZoneInfo('GMT Standard Time', True)), 'VR'] # 아래는, data = ~~~.value 일 경우의 데이터 형태를 출력해 보기 위함. data = list(ws.Range(ws.Cells(row,1), ws.Cells(row,4)).Value) print(data) [('마크', '남', pywintypes.datetime(1984, 5, 14, 0, 0, tzinfo=TimeZoneInfo('GMT Standard Time', True)), 'VR')] # 위에서 확인 결과, data = ~~~.value[0] 일 경우와 data = ~~~.value 일 경우에, # print로 데이터 출력한 결과는 거의 비슷하나, # data = ~~~.value 일 경우에는 대괄호 안에 괄호가 하나 더 있음. 위의 과정에서 아래와 같이 진행하면 물론 정상적으로 출력됩니다. row = 2 data = list(ws.Range(ws.Cells(row,1), ws.Cells(row,4)).Value[0]) print(data[2]) 1984-05-14 00:00:00+00:00 하지만 아래와 같이 진행하면 오류가 납니다. 원 코드에서 ~~~.Value 뒤에 [0] 만 빼 본 것입니다. row = 2 data = list(ws.Range(ws.Cells(row,1), ws.Cells(row,4)).Value) print(data[2]) Traceback (most recent call last): File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\IPython\core\interactiveshell.py", line 3577, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "<ipython-input-9-a5cbf3d139c3>", line 1, in <module> print(data[2]) IndexError: list index out of range row = 2 로 지정했으므로, data = list(ws.Range(ws.Cells(row,1), ws.Cells(row,4)).Value) 은 엑셀의 (2,1)부터 (2,4)의 값을 리스트로 가져오는 것일테고, 원 코드인 data = list(ws.Range(ws.Cells(row,1), ws.Cells(row,4)).Value[0]) 도 역시, 지정한 범위의 값들 중 첫번째 행의 값만 가져오므로, 엑셀의 (2,1)부터 (2,4)의 값을 리스트로 가져오는 것은 두 경우에 같아 보이는데, [질문 1] 왜 원 코드에서는 print(data[2]) 입력했을 때 정상적으로 출력이 되고, 원 코드에서 [0] 만 뺀 경우에는 print(data[2]) 입력했을 때 오류가 나는 것이지요? __________________________________________________________________________________ P.S. _1 --- 이 질문글 올리고 천천히 강의내용을 다시 읽어 보니, 위 코드의 두 번째 라인을 보면, 리턴되는 값을 리스트로 변환하는 코드가 들어 있습니다. 기본적으로 ws.Cells나 ws.Range가 리턴하는 값은 튜플인데, 이 중 특정 값을 수정하기 위해 튜플을 수정 가능한 리스트 자료형으로 변환을 해 주었습니다. 라는 글이 눈에 들어오네요. (※ 처음 읽었을 때는 무슨 말인지 잘 몰랐는데, 강의 내용에 다 써 있는데 제가 이해를 못했던 부분이 많네요.) [('마크', '남', pywintypes.datetime(1984, 5, 14, 0, 0, tzinfo=TimeZoneInfo('GMT Standard Time', True)), 'VR')] 요러한 형태가 말씀하신 튜플이라는 것이죠? 이런 형태의 data는 값을 수정할 수 없다는 말씀이죠? 반면에, ['마크', '남', pywintypes.datetime(1984, 5, 14, 0, 0, tzinfo=TimeZoneInfo('GMT Standard Time', True)), 'VR'] 요러한 형태는 튜플이 아닌 리스트 자료형이라는 것이죠? 이런 형태만이 data 값을 수정할 수 있다는 말씀이죠? [질문 2] 튜플 형태의 데이터에 대하서는 data 값을 수정할 수 없는 것 뿐만 아니라 0, 1, 2번째의 데이터를 선택하는 data[0] data[1] data[2] 이러한 형태의 명령어조차도 쓸 수 없는 것이죠? 제가 쓴 이 내용들이 맞는지만 확인 부탁드립니다. __________________________________________________________________________________ P.S. _2 --- 왕초보들이 더 쉽게 이해할 수 있게 개선의견을 말씀드리면, 아래와 같은 간단한 언급을 추가해주시면 더 좋지 않을까 합니다. (아래 쓴 내용이 맞다면요.) 튜플 형태의 data는 값을 수정할 수 없는데, 튜플 형태의 data를 print(data) 했을 때는 [( ~~~~ )] 형태로 확인되고, 리스트 형태의 data는 값을 수정할 수 있는데, 리스트 형태의 data를 print(data) 했을 때는, 괄호 ( ) 가 없이 [ ~~~ ] 형태로 확인되니 참고하세요. 참고로 튜플 형태의 data에 대해서는 data[2] 와 같은 형태로 데이터를 선택하는 명령어도 사용 불가능합니다. 튜플 형태의 data를 리스트 형태의 데이터로 바꿔야만 data[0] 와 같이 데이터를 선택하는 명령어를 사용 가능합니다. 확인 부탁드립니다. 감사합니다. __________________________________________________________________________________ __________________________________________________________________________________ 위 질문 글을 쓴 이후에 더 공부해 보고 아래와 같이 원인을 추정했습니다. 아래 내용이 위 [질문 1] 과 [질문 2]에 대한 답이 맞나요? 일코님이 바쁘실텐데 낮은 수준의 질문에 답변하느라 애쓰실 것에 죄송하여 그 사이에 자문자답(?)을 해보았습니다. [질문 1] Value[0]을 사용한 경우에는 정상적으로 출력되고, Value만 사용한 경우에는 오류가 발생하나요? [원인 분석] 엑셀에서 win32com을 사용하여 특정 셀 범위의 값을 가져올 때, Range.Value는 튜플 형태로 반환됩니다. 이때 반환된 값은 2차원 배열처럼 행(row) 단위로 묶여있습니다. ws.Range(ws.Cells(row,1), ws.Cells(row,4)).Value는 튜플 안의 튜플 형태로 데이터를 반환합니다. 예를 들어, (2,1)부터 (2,4)까지의 값을 가져오면 결과는 다음과 같습니다: (('마크', '남', datetime 객체, 'VR'),) 반면에 ws.Range(ws.Cells(row,1), ws.Cells(row,4)).Value[0]은 첫 번째 행의 값을 선택하는 것이므로, 단일 튜플이 됩니다: ('마크', '남', datetime 객체, 'VR') 따라서 data = list(ws.Range(ws.Cells(row,1), ws.Cells(row,4)).Value)의 경우 data는 튜플 안에 또 다른 튜플이 있는 상태입니다. 이때 data[2]를 호출하면 "IndexError"가 발생하는 이유는 data가 한 개의 튜플을 포함하고 있기 때문입니다. 즉, data 안에는 튜플이 있고, 실제 데이터는 그 튜플 안에 들어 있기 때문입니다. 반면에 data = list(ws.Range(ws.Cells(row,1), ws.Cells(row,4)).Value[0])을 사용하면 튜플 중 첫 번째 행의 데이터를 직접 리스트로 변환하므로 data[2]를 정상적으로 호출할 수 있습니다. [위 내용 요약] Value[0] 사용하면 첫 번째 행의 데이터를 직접 가져오기 때문에 인덱싱이 가능하지만, Value만 사용하면 전체 범위가 튜플로 감싸져 있어 인덱싱 시 오류가 발생합니다. [질문 2] 튜플 형태의 데이터에서 값을 수정하거나 인덱싱할 수 있나요? [내용 추정] 튜플은 불변(immutable) 자료형이기 때문에 한 번 생성된 후에는 그 값을 수정할 수 없습니다. 하지만 튜플 내의 요소들을 조회하는 것은 가능합니다. 즉, 수정 불가: 튜플 내의 데이터를 변경하거나 삭제할 수 없습니다. mytuple = (1, 2, 3) mytuple[0] = 100 # TypeError 발생 조회 가능: 튜플 내 특정 인덱스의 데이터를 조회하는 것은 가능합니다. mytuple = (1, 2, 3) print(mytuple[0]) # 출력: 1 따라서 질문에서 언급한 것처럼 튜플 형태의 데이터에서는 값을 수정할 수 없지만, 인덱싱을 통해 특정 요소에 접근하는 것은 가능합니다. 즉: data[0] # 가능 data[1] # 가능 data[2] # 가능 따라서 인덱스 접근은 가능하지만 수정은 불가능합니다. 다만, 주의할 점은 위에서 data[0] # 가능 이라고 하였지만, 이것은 data가 튜플일 경우입니다. data가 튜플 내에 튜플인 경우, 즉 이중 튜플인 경우에는, data[0] # IndexError 발생 [위 내용 요약] 튜플은 불변 자료형으로 값을 수정할 수 없지만, 인덱스를 통해 요소를 조회하는 것은 가능합니다. 다만, 이중 튜플인 경우 인덱스를 통해 요소를 조회 시도 시 IndexError가 발생합니다.
미해결
[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
여러 태그 제어하는 방법 강의 질문입니다 해당 강의에서 알려주신대로 gmarket 에서 작업하면 봇으로 인식해서 진행이 안 됩니다. 사람인지 확인하는 절차가 나오는데 이 부분에서 더 이상 진행되지 않습니다. 강의를 위해서 만드신 사이트 말고 실제 gmarket 같은 곳에서 할 수 있는 방법을 알려주세요
미해결
[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
안녕하세요 무한 스크롤 처리하기 강의에서 실행이 안 됩니다. 06:45 부분입니다. 이 code 수정한 영상 다시 올리셔야 할 것 같습니다. 바쁘셔서 강의 영상 다시 촬영하시기 힘드시면 소스 수정해야 한다고 자막으로라도 올려주세요 처음 수강하는 사람 입장에서 시간 낭비가 심합니다. 부탁합니다. last_height = driver.execute_script('return document.body.scrollHeight') while True: driver.execute_script('window.scrollTo(0, document.body.scrollHeight)') time.sleep(1) new_height = driver.execute_script('return document.body.scrollHeight') if new_height == last_height: break last_height = new_height 강의에서 알려주신 대로 실행하면 한 번에 맨 마지막까지 scroll 됩니다. 강의에서 보여주시는 대로 되지 않습니다. 어떻게 해야 하는지 자세하게 알려주세요
미해결
김영한의 실전 자바 - 중급 1편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. private String model; private int chargeLevel; private Engine engine; public Car(String model, int chargeLevel) { this.model = model; this.chargeLevel = chargeLevel; engine = new Engine(this); } Car 를 생성하는 도중에 Engine 객체를 생성하기 위해 this 로 자기 자신을 넘겨주게 되면 어떤 순서로 객체가 만들어지는 건가요? - 초기화가 제대로 이루어지지 않은 Car 객체를 Engine에 넘겨주는 건가요? - 아니면 객체의 필드를 초기화하고 생성하기 이전에 참조 값만 생성해서 넘겨주는 건가요?
해결됨
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
코드 복붙하였고 3 jpa 4 가나다로 결과가 안나옵니다
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 9번문제에서 시험때 제출할때 print(df.sort_values('subscribed').index[0]) 만 쓰면 될까요? 아니면 월별 데이터 갯수인 print(df)까지 해야하나요
미해결
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요! '앞에서부터 70% 데이터 중 views 컬럼의 3사분위 수에서 1사분위 수를 뺀 값을 구하시오' 이 부분에서 .loc을 사용했을 때와 그냥 슬라이싱을 했을 때의 행 개수 차이가 나서요.. 왜 이렇게 차이가 나는지 궁금해서 문의 남깁니다! 좋은 강의 준비해주셔서 고맙습니다 : )
미해결
[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
안녕하세요! 27강 고급 입력 컨트롤 내용에 관하여 질문 드리고자 합니다. from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys # 크롬 드라이버 생성 driver = webdriver.Chrome() # 페이지 이동 driver.get("https://www.naver.com") # 태그 찾기 search = driver.find_element(By.CSS_SELECTOR, "#query") # 문자 입력 search.send_keys('스타트코딩') #순차적 키 입력 search.send_keys(Keys.COMMAND, 'a') MAC OS에서 위와 같은 형태의 코드(전체선택 코드)가 작동하지 않아서, 아래의 코드를 사용하였습니다. from selenium.webdriver.common.action_chains import ActionChains actions = ActionChains(driver) actions.key_down(Keys.COMMAND).send_keys('a').key_up(Keys.COMMAND).perform() 다만, ActionChains 모듈을 사용하였을 때에도, command+a(전체선택), command+c(복사) 까지는 정상적으로 작동했는데, command+v(붙여넣기)의 경우에만 작동하지 않습니다. 혹시 이에 대한 해결 방법이 있을까요?
미해결
내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
(사진)
해결됨
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
마지막에 회원가입이랑 회원목록 누르니 이렇게 나옵니다 h2서버 켜진상태에서 spring1 spring2있는거 확인하고 나서 run하였습니다 잘되다가 갑자기 2024-11-12T23:46:40.432+09:00 ERROR 13916 --- [hello-spring] [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.IllegalStateException: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection] with root cause 가 나옵니다. 그 밑에는 org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Wrong user name or password [28000-224] 라고 나옵니다. 코드 복붙하였으며 구글링했는데 잘 모르겠습니다.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
어쩔때 적합도 검정을 해야하는지 어쩔때 독립성 검정을 해야하는지 헷갈리네요 ㅠ 혹시 구분하는 방법이 있을까요?
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요! MVC 패턴에 대해서 공부를 하다가 궁금한 것이 있어서 질문드립니다 ! 제가 프로젝트를 했을 때는 주로 프론트와 백엔드 코드를 분리하여 프로젝트를 관리하였습니다. 이때는 지금 강의에서 하는 방식(MVC)과 다르게 RESTful 방식으로 진행을 하였습니다. 그렇다면 당연하게도, Model과 View는 프론트에서 관리를 하고, 들어오는 요청을 받는 Controller와 로직을 처리하는 Service, 데이터베이스와 관련된 로직을 처리하는Repository 이 3가지로 패키지가 관리되고 있었습니다. 그렇다면 RESTful하게 개발하는 방식에는 과연 MVC 패턴이 적용되지 않는 것인가 ? 하는 궁금증이 생겨서 조사를 해보았어요 ! https://okky.kr/questions/1414743 여기서 제가 이해한 것을 짧게 정리를 해보자면, RESTful한 방식과 MVC는 별개의 것이 아니라는 것입니다. 지금 강의에서 하는 방식의 model과 view는 물리적으로 화면에 나오기는 방식으로 이해할 수 있고, RESTful한 방식에서 VIEW는 JSON 데이터를 반환하는 것을 논리적인 개념으로 이해할 수 있다는 것으로 이해를 했습니다. 다시 위의 글에 적용을 해보자면 Service, Repository 부분이 model, 다시 값을 Controller부터 return(JSON 값)하는 것이 View라고 이해하면 맞을까요..? 개념적으로 service: Model JSON반환타입: View controller: Controller 이렇게 딱 맞게 정의한다면... repository는 어디에 해당하는 것일까요..? 혼란스럽습니다 ㅠㅠ
미해결
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
강의자료는 따로 다운로드 받을 순 없나요?
미해결
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
TreeSet이 중복되지 않는 것을 사용해서 풀어봤는데 설명해주신 내용과 어떤 차이가 있는지 궁금합니다. 코드입니다. public static String solution(int a, int[] arr){ String answer = "D"; TreeSet<Integer> set = new TreeSet<>(); for(int x : arr){ set.add(x); } if (set.size() == a){ answer = "U"; } return answer; }
해결됨
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
https://inf.run/rkL2D 20강 증감연산자 마지막에 "다음과 같이 증감 연산자를 단독으로 사용하는 경우에는 다른 연산이 없기 떄문에, 본인의 값만 증가한다. 따라서 전위이든 후위이든 둘 다 결과가 같다" 하면서 ++a; a++;의 코드를 보여주셨는데 ++a; 는 a=3인데 a++;은 a=4가 나왔습니다 분명 둘 다 결과가 같다고 했는데 우째서 ++a;랑 a++; 코드 결과값이 다른건지 모르겠습니다 바보가 된 것 같숩니다 알려주세요
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 이상치 제거를 df = df[(df[ 'age' ] == df[ 'age' ].astype( int ) ) & df[ 'age' ] > 0 ] 이렇게 하면 틀린건가요? round쓰는게 이해가 안가네요
해결됨
김영한의 실전 자바 - 기본편
[질문 내용] 섹션9 final 변수와 참조 에서 final을 참조형 변수에 붙었을 때 참조 대상 자체를 다른 대상으로 변경하지 못한다는 점에서 이 참조형 변수는 싱글톤(singleton) 패턴이라고 동일시해도 되는 것인가요?
미해결
RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
가상환경에서 버전을 일치 시키고 API키 환경변수로 설정했는데... openAI apiㅏkey 가 없다고 나옵니다. 혹시 어느 부분에서 문제가 있을까요?
미해결
자바 코딩테스트 - it 대기업 유제
홀수 레벨만 본다고 했을 때 이전 홀수 레벨에서 방문한 노드를 이후 홀수 레벨에서는 왜 그냥 넘어가는 건가요?? 말씀하신 것처럼 송아지가 움직이니까 이전 홀수 레벨에서 만나지 않았더라도 이후 홀수 레벨에서 만날 수 있는 거 아닌가요??