안녕하세요 일코님 저번 답변으로 큰 도움을 얻었습니다. 감사합니다. 현재 제가 코드를 실행하면 아래와같은 경고메시지가 뜨는데.. 하나씩 실행해가면서 봤을떄는 문제가 없었는데 아래와 같은 문제가 왜 발생하는지 모르겠습니다. 어떨땐 뜨고, 어떨땐 안뜨는데, 도무지 알수가 없네요... 전체 코드를 첨부드립니다. import os from tkinter.filedialog import askopenfilename, askopenfilenames from pyhwpx import Hwp def 타겟인덱스찾기(target,학년): # FindReplace 설정 초기화 hwp.HAction.GetDefault("RepeatFind", hwp.HParameterSet.HFindReplace.HSet) hwp.HParameterSet.HFindReplace.FindString = f"{target[0]}년도 {target[1]:02}월 {학년} 학평 {target[2]:02}번" hwp.HParameterSet.HFindReplace.Direction = hwp.FindDir("Forward") hwp.HParameterSet.HFindReplace.FindType = 1 hwp.HParameterSet.HFindReplace.IgnoreMessage = 1 # 메시지 무시 설정 output = hwp.HAction.Execute("RepeatFind", hwp.HParameterSet.HFindReplace.HSet) if output == False: hwp.HAction.GetDefault("RepeatFind", hwp.HParameterSet.HFindReplace.HSet) hwp.HParameterSet.HFindReplace.FindString = f"{target[0]}년 {target[1]:02}월 {학년} 학평 {target[2]:02}번" hwp.HParameterSet.HFindReplace.Direction = hwp.FindDir("Forward") hwp.HParameterSet.HFindReplace.FindType = 1 hwp.HParameterSet.HFindReplace.IgnoreMessage = 1 # 메시지 무시 설정 return hwp.HAction.Execute("RepeatFind", hwp.HParameterSet.HFindReplace.HSet) else : return True def 워크북복수선택(): """ 선택한 모든 파일들의 전체경로를 가져오는 함수 """ filelist = askopenfilenames(title="문제를 추출할 아래아한글 문서를 모두 선택해주세요.", initialdir=os.getcwd(), filetypes=[("아래아한글파일", "*.hwp *.hwpx")]) return filelist # hwp = Hwp().hwp # 현재 열린 한글 실행 if __name__ == '__main__': hwp = Hwp(visible=True) 학년 = "고2" 타겟리스트 = [(21,11,30), (21,9,30), (20,6,3), (23,6,31), (22,11,31), (23,6,34) , (22,3,33), (21,6,33), (22,11,35), (22,6,35), (23,6,36) , (21,3,37), (20,9,38), (23,6,38), (21,9,39), (20,11,38), (22,9,40), (20,6,40), (23,9,30), (20,11,30) ] doc_1 = hwp.XHwpDocuments.Item(0) # output 문서 hwp.SetMessageBoxMode(0x20000) # 예,아니오 경고창은 노로 대답하기 워크북리스트 = 워크북복수선택() for 파일인덱스, 워크북 in enumerate(워크북리스트, start=1): doc_2 = hwp.XHwpDocuments.Add(False) # input문서 새로운 hwp열고 할당 (False=새로운창 / True = 기존hwp의 탭으로) hwp.Open(워크북) hwp.SetMessageBoxMode(0x20000) # 예,아니오 경고창은 노로 대답하기 doc_2.SetActive_XHwpDocument() # input문서 # Unit 추출하기 # '게시금지 ' 로 검색 hwp.HAction.GetDefault("RepeatFind", hwp.HParameterSet.HFindReplace.HSet) hwp.HParameterSet.HFindReplace.FindString = "게시금지 " hwp.HParameterSet.HFindReplace.Direction = hwp.FindDir("Forward") hwp.HParameterSet.HFindReplace.FindType = 1 hwp.HParameterSet.HFindReplace.IgnoreMessage = 1 # 메시지 무시 설정 hwp.HAction.Execute("RepeatFind", hwp.HParameterSet.HFindReplace.HSet) hwp.HAction.Run("Cancel") # Unit 칸으로 이동하여 복사하기 hwp.HAction.Run("MoveParaEnd") hwp.HAction.Run("MoveRight") hwp.HAction.Run("MoveSelParaEnd") # 현재 문단의 끝까지 블록 설정 hwp.HAction.Run("Copy") # 블록 설정된 텍스트를 클립보드로 복사 hwp.HAction.Run("Cancel") doc_1.SetActive_XHwpDocument() # output 문서 활성화 # 복사한 텍스트를 문서에 입력 if 파일인덱스 != 1 : hwp.HAction.Run("MoveDocEnd") hwp.HAction.Run("BreakPage") hwp.HAction.Run("Paste") hwp.HAction.Run("MoveSelLineBegin") for _ in range(10): hwp.HAction.Run("CharShapeHeightIncrease") # 텍스트 크기 증가 hwp.HAction.Run("Cancel") hwp.HAction.Run("MoveParaEnd") hwp.HAction.GetDefault("PageSetup", hwp.HParameterSet.HSecDef.HSet) hwp.HParameterSet.HSecDef.PageDef.Landscape = 1 hwp.HParameterSet.HSecDef.PageDef.BottomMargin = 0 hwp.HParameterSet.HSecDef.HSet.SetItem("ApplyClass", 28) hwp.HParameterSet.HSecDef.HSet.SetItem("ApplyTo", 2) hwp.HAction.Execute("PageSetup", hwp.HParameterSet.HSecDef.HSet) doc_2.SetActive_XHwpDocument() # input 활성화 for 인덱스,타겟튜플 in enumerate(타겟리스트, start=1) : hwp.HAction.Run("MoveDocBegin") # 타겟 찾아서 쪽 복사하기 if 타겟인덱스찾기(타겟튜플,학년): hwp.HAction.Run("CopyPage") # 두번째 문서 활성화 하고 쪽 붙여넣기 doc_1.SetActive_XHwpDocument() # output 문서 활성화 hwp.HAction.Run("MoveDocEnd") hwp.HAction.Run("BreakPage") hwp.HAction.Run("PastePage") if 인덱스 > 1: hwp.SetMessageBoxMode(0x20) hwp.HAction.Run("MovePrevParaEnd") hwp.HAction.Run("Delete") hwp.HAction.Run("Delete") hwp.HAction.Run("MoveDocEnd") doc_2.SetActive_XHwpDocument() # input 문서 활성화 현재경로 = doc_2.FullName doc_2.Close(False) #TRUE : 내용이 변경된 경우 닫지 않음, FALSE : 강제로 닫음 hwp.SetMessageBoxMode(0xF0000) # 경고창이 기본모드로 바뀜 hwp.SetMessageBoxMode(0xF0) 현재디렉토리 = os.path.dirname(현재경로) 파일이름 = "상세분석_작업완료.hwp" 저장경로 = os.path.join(현재디렉토리, 파일이름) doc_1.SaveAs(저장경로) hwp.Quit() 한두개를 작업할떄는 문제가 없었는데 여러개를 작업하니까 문제가 생기네요..ㅠㅠ 너무 큰 질문을 드리는것 같아 죄송하고 감사한 마음입니다.. 늘 강의 잘 보고있고 업무에 큰도움 받고있습니다 정말 감사합니다.
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요. 강의를 들으며 ratingState 를 print 해보니 Instance of '_RestaurantRatingRepository' 결과가 나왔습니다. 이제보니 dio 요청 자체도 가지 않은 상태입니다. pagination_provider.dart를 적용한 후 Restaurant와 RestaurantDetail은 잘 실행되는데, Rating 만 dio 요청 자체가 가지 않습니다. 저 아래의 Instance of '_RestaurantRatingRepository' 가 ratingState 입니다. 디버깅을 통해서 dio를 제대로 받아온 것은 확인했는데, pagination 내부의 print는 restaurant만 먹히고, restaurantdetail과 rating은 print되지 않아 어떻게 해결해야할지, 어떻게 해결 방법을 찾아야 할지 갈피도 못 잡겠습니다. 프로젝트의 repository를 첨부합니다. https://github.com/jungeyo3/codefactory-flutter-lv2-study 버전은 아래와 같습니다. 감사합니다.
8번 문제 복습 중 궁금증이 생겨서 질문드립니다. 1) cond = df.loc[2001] > m2001 r1 = sum(cond) cond = df.loc[2003] < m2003 r2 = sum(cond) print (r1+r2) 2) r1 = df.loc[2001] > m2001 r2 = df.loc[2003] < m2003 print (sum(r1+r2)) 1) 같은 경우는 정답 풀이를 그대로 가져와서 출력 값이 202이고, 2) 같은 경우는 제가 다른 방법으로 풀어볼 수 있을까 하는 궁금증에서 적어봤습니다. 출력 값은 202가 아닌 150이 나왔습니다. 둘 다 같은 풀이법 같지만 출력 값이 다른 이유가 궁금해서 질문드립니다 !
문서 두개를 띄워서 작업을 하려고 하는데요. 먼저 한글시작을 하구 hwp = 한글시작(True) def 한글시작(TF): hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject") hwp.XHwpWindows.Item(0).Visible = TF hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule") return hwp 그다음 아래와같이 코드를 작성했는데요. hwp = 한글시작(True) doc_2 = hwp.XHwpDocuments.Add(False) # 새로운 hwp열고 할당 (False=새로운창 / True = 기존hwp의 탭으로) doc_2.SetActive_XHwpDocument() # 두 번째 문서 활성화 hwp.HAction.GetDefault("PageSetup", hwp.HParameterSet.HSecDef.HSet) hwp.HParameterSet.HSecDef.PageDef.Landscape = 1 hwp.HParameterSet.HSecDef.HSet.SetItem("ApplyClass", 24) hwp.HParameterSet.HSecDef.HSet.SetItem("ApplyTo", 3) hwp.HAction.Execute("PageSetup", hwp.HParameterSet.HSecDef.HSet) XHwpDocumnets.Add 를 통해서 새로운 hwp를 열었고, 활성화도 했습니다. 그이후에 한글을 직접 작동하여, 페이지를 가로로 돌리는것(편집용지->가로)을 매크로 녹화했는데요 아래 부분을 입력하고 실행했을 때, hwp.HAction.GetDefault("PageSetup", hwp.HParameterSet.HSecDef.HSet) FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\SAMSUN~1\\AppData\\Local\\Temp\\gen_py\\3.12\\7D2B6F3C-1D95-4E0C-BF5A-5EE564186FBCx0x1x0\\ HSecDef.py .18740.temp' 이런 오류 메시지가 터미널에 뜨게됩니다. 반면에, hwp.HAction.Run ("MoveParaEnd")등을 실행했을 떄는 모두 정상적으로 작동합니다. 왜 한글매크로를 녹화한것이 제대로 작동하지 않는걸까요? 잘 알려주셔서 정말 감사합니다
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 quiz 3 데이터 수를 구할 때선생님께서 알려주신 len(df[cond]) 외에df[cond].shape[0] 이나 df[cond].count()[0]을 사용해도 괜찮나요??값은 동일하게 나옵니다!
안녕하세요! 2유형 강의 수강 중 궁금한 점이 생겨서 질문드립니다! IQR 을 사용하여 이상치를 확인 했을 때, 이상치가 전체 행 대비 적게 있을 경우 해당 행 자체를 삭제해도 무방한가요? 스케일링 시, 이상치가 있을 경우 로버스트 스케일링을 사용하는게 좋다라고 하셨는데 이상치가 있는 컬럼에 대해서만 로버스트 스케일링으로 진행하고, 이상치가 없는 컬럼에 대해서는 MinMax 이나 Z-Score 를 사용하여 구분해서 각각 스케일링 하는게 좋은가요? 2-2. 만약 이상치가 없는 경우에도 로버스트 스케일링을 사용할 경우 다른 스케일링 방식에 비해 성능이 떨어지나요? 감사합니다~!
퇴근 후 매일 강의를 조금씩 듣고 있습니다. 이제서야 작업형 1 강의 목차로 들어왔는데요! 저는 강의 들으면서 pause 누르고 타이핑 해보고 저만의 암기노트를 만들면서 시간 있을 때 외우고 있습니다. 지금부터 조금씩 외우는 이유는 지금 시간 들여서 강의를 들었는데 쭉쭉 넘어가다보면 (물론 타이핑은 겸하면서) 나중에 또 보면 새로울거 같아서 기억이 있을 때 까먹더라도 외우려고 하고 있긴합니다. 다만, 암기를 하니 좀 속도가 더디긴 하네요 ㅠㅠ 지금은 암기하지말고 한번 쭉 따라하면서 듣는게 낫나요? 저는 문제 풀 때 암기가 되어있지 않으면 안풀리는데 이것은 어떻게 해결하면 될까요? 캐글도 풀어야한다고 하셨는데 강의 목차 순서에 있는 것일까요? 강의 목록에 있는 것들만 완벽하게 숙지하면 시험에 무리없나요? 추가 사이트 들어가서 공부할 필요 없이 이 강의로만 끝내고 싶어서요
네이버쇼핑 크롤링 수강 중입니다. 데이터를 엑셀로 저장시 링크를 하이퍼링크로 저장 하고 싶습니다. 즉, 엑셀 오픈해서 링크를 클릭하면 해당 물건이 바로 열리도록 하고 싶습니다. 아래 1번은 되는데, 2번은 되지 않습니다. 문제는 엑셀에서 하이퍼링크 저장시 255자 제한이 있어서 그런 거 같습니다. 데이터 저장 시 해결할 방법이 있을까요? 네이버 링크 link = '=HYPERLINK("' + " https://www.naver.com " + '","링크")' 쇼핑몰 링크 =HYPERLINK(" https://cr.shopping.naver.com/adcr.nhn?x=GwvRQqYCu%2BX8ZwpHCECcSv%2F%2F%2Fw%3D%3DsIn%2F3Yf0iawU%2FzYEzOgBb07i9rrLilELSXaeDEWTHUjtksg%2BYslp4t2Zt1cdDccTdi7DZdZimWRXHZMabDRX2%2B0qx7Bhh0Caeclo2i1Y7qOjFHLn4wLuCnoHhSfPE4oks1bvHhHAfdqzhIkba38yyQMi30QtKP1mA7BYZPpxeJLexWvZfe2todmJfmpbNrXnq6vlxEEPFYikY%2FFgWDJTeh03Mlu1kRkTyoaI3uw69wpRITi0bKHCP2rGy6hahVn%2B%2FZFBJ7H6pZqRmC993ssAkNKg2IE65NtMdlJVi06ALuC2AbCY81f975eS5nfR25FBiP83WAv8GAIoQ0MwLPWeb%2FcJtwFagNdosKd1Zse6UhJ%2BzaLo3YojXuQJMvdaZ%2BI%2FyctBNJeJkeiSk%2FpIY4IZgm7f5ZWpM0X6C8Lqgv9yl84OxyTNOpvF5JKAAUscSxRXpeCJA4vgneLxHO126ixVGIQneuqvZhheEd%2B4ASDHeLEMX6dOjXdNdhYZO31pYVC%2BHCJkBzybiEA%2BrGVfnMGK9vAlypD3xRxtfsji%2Flj2GA5OdSlPOZBN6V54TTL6u%2FzFsCXIMYKkzT061mzrwfgc%2F8GThNu%2B1yBb0rg6nns0Ykn3LVWGr8fvvH1mWvUgXPK6j&nvMid=21813412965&catId=50013800 ","링크")
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
함수 질문 드립니다. 보통 함수는 파라미터를 전달해서 그 파라미터값으로 중괄호 부분의 함수를 실행시키는걸로 알고있는데요. 작업을 하다보면, 위와 같이 반환하는 함수의 타입과 이름이 정해져서 나오는경우가 있더라구요. 위에 이미지 안에 함수보면 빌드와 에이싱크타입의 context, snapshot을 받아서 함수를 실행하는걸로 나와있는거 같습니다. 제가 해당 값에 아무것도 전달하지도 않았는데 어떻게 중괄호 안에서 snapshot. 즉, . 을 이용해서 접근해서 이용할수있는건가요? 함수에 파라미터를 받아서 중괄호 부분을 실행시키는거랑 많이 달라서요.. 질문1 snapshot에는 어떤한 데이터도 제가 제공안했는데 어떻게 접근 가능한지? 질문2 파라미터에 ( int a , String b ) 이렇게 선언하는것과 (BuildContext context , AsyncSnapshot<T> snapshot) 파라미터 앞에 타입 선언하고 변수 선언하고 똑같은데, 위에꺼는 파라미터를 전달해서 실행하는것과 파라미터 안에 데이터에 접근해서 사용하는것과 어떻게 구분하는건가요?