기본 콘텐츠로 건너뛰기

라벨이 데이터수집인 게시물 표시

(VBA) 011 - 만든 함수에 변수(Parameter)넣기

#毎日育ちゃん可愛い大会 (pptx파일) pptx파일 (xlsx파일) xlsx파일 ★ 진행목적 : 왜 이걸 사용합니까 . 1) 함수를 쪼개서 만들다보면 , 행이나 열을 제어하는 인자를 전달해야 할 때가 있습니다 . 2) 같은 기능을 행이나 열을 통해 반복할 때 사용하는 기능입니다 ! 3) 예를 들자면 , 한 열에 대한 기능을 만들어놓고 , 반복문을 통해 옆의 열로 이동하면서 처리할 때 사용하면 유용하죠 ! ★ 어떻게 생겼는가 ? 1) 아래와 같이 만든 Sub 함수의 옆의 괄호를 사용합니다 ! 2) 지금까지는 Sub 나 Function 에 변수를 넣지 않았는데 , 이제는 사용할 때가 되었네요 ! 1 2 3 4 5 Function data_input(j  As  Integer)     ActiveCell.Offset( 0 , j).Value  =  j End  Function cs ★ 어떻게 사용하는가 ? 1) 이렇게 매개변수 (Parameter) 가 들어가면 , 단독으로는 실행이 되질 않습니다 ! 2) 이미 반복실행하거나 , 외부에서 제어하여 사용할 것으로 계획한 것 이기 때문입니다 . 3) 그렇기 때문에 아래와 같이 제어인자 입력부 -> 데이터 처리부가 세트가 됩니다 . ( 中谷育 ちゃんのイメージ について) 本当に可愛い中谷育ちゃんのイメージが 含まれています。 ありがとうございます。 何か問題があったら、教えてください。 直ちに処理します。

(VBA) 009 - 닫힌 파일에서 데이터 읽어오기 (ExecuteExcel4Macro)

#毎日育ちゃん可愛い大会 예시의 매크로 파일을 테스트 할 때는 저장된 폴더를 사용하실 폴더로 꼭 바꿔주세요! (pptx파일) pptx파일 (xlsx파일) 예제데이터파일   Macro파일 ★ 진행목적 : 왜 이걸 사용합니까 . 1) 행이나 열 , 또는 Sheet 과 같이 다른 특성을 가지는 1,2,3 차 데이터배열에 대한 처리 방법을 지금까지 설명드렸습니다 . 2) 그럼 이제 , 다른 파일에서 데이터를 읽어올 방법을 알아볼 필요가 있습니다 . 어째선가 회사의 데이터를 처리하다보면 , 주기적인 이름의 엑셀 파일 특정 Sheet, Cell 에 있는 경우가 많았습니다 . 3) 엑셀에서 이미 열려있는 파일의 참조는 ‘=‘ 을 사용하면 가능하지만 , 닫힌 파일은 데이터를 읽지 못합니다 . 4) 그래서 이를 처리하기 위해 VBA 의 ‘ExecuteExcel4Macro( 주소 )’ 를 사용합니다 ! ★ 다른 파일의 참조는 어떻게 합니까 ? 1) 열려 있는 다른 파일의 데이터를 읽는 방식은 ‘=‘ 을 입력하고 해당 Cell 을 클릭하면 됩니다 ! 2) 그러면 아래와 같이 (=‘ 파일이 있는 폴더 [ 파일명 ]Sheet 명 ’!Cell 주소 ) 의 형태로 기록 이 됩니다 . ★ 닫힌 파일에 대해서는 INDIRECT 는 사용이 되질 않습니다 ! 1) INDIRECT 로는 처리가 되질 않습니다 . 2) 어째선가 전에 사용하던 INDIRECT 를 사용하고 싶지만 , 사용이 되질 않습니다 . 검색을 해봐도 안된다는 답변만 있네요 ! 3) 파일이 하나 두 개라면 , 이전과 같이 ‘=‘ 를 쓰면 되겠지만 , 그러면 자동화를 통한 효율화가 불가능해지겠죠 ! 4) 그래서 이를 처리하기 위해 VBA 의 ‘ExecuteExcel4Macro( 주소 )’ 를 사용합니다 ! ★ ExecuteExcel4Macro 는 어떻게 사용합니까 ? 1) VBA 의 ExecuteExcel4Macro 란 매크로...

(Excel) 001 - 데이터 배열과 1차원 처리

★ 진행목적 : 왜 이걸 사용합니까 . 1) 기본적으로 데이터는 행이나 열에 위치합니다 . 2) 그리고 각 데이터는 고유한 Serial number 나 구분되는 검색자를 가지고 있을 것입니다 . 3) 이를 매번 찾다보면 시간이 낭비되는데 , 이를 Excel 함수나 VBA 프로그래밍을 하면 쉽게 처리할 수 있습니다 . ★ 데이터 배열은 어떤 형태입니까 ? 1) 데이터의 차수에는 제한이 없습니다만 , 일반적으로 4 차원까지 배열되는 것이 제 경험상 일반적입니다 . 제 목표는 4 차원까지 데이터 처리를 알려드리는 것이에요 . 2) 저는 데이터의 고유한 변수 (Serial, 이름과 같은 ) 의 개수를 가지고 구분합니다 . 3) 아래의 셀 그림으로 설명드릴 수 있도록 하겠습니다 . ★ 데이터 배열은 어떻게 처리합니까 ? 1) 우선 키워드를 알려드리고 , 이번 차수에서는 1 차원 데이터 배열의 처리방법인 HLOOKUP,VLOOKUP 에 대해서 알려드리겠습니다 . 2) 2 중 키워드 1 차원 배열과 같은 것들도 있는데 그건 3 차원 배열처리가 끝나면 알려드릴 수 있도록 하겠습니다 . 구분 구성 처리방법 1 차원 배열 행 or 열 HLOOKUP / VLOOKUP 2 차원 배열 행 + 열 INDEX + MATCH 3 차원 배열 Sheet 여러 개 INDIRECT 4 차원 배열 File 여러 개 VBA (설명파일) pptx파일 (예제파일) Excel파일 ( 中谷 育 さんのイメージ に対して) 本当に可愛い中谷 育さんのイメージが 含まれています。 ありがとうございます。 何か問題があったら、教えてください。 直ちに処理します。

(VBA) 006 - Do loop~until/while

★ 진행목적 : 왜 이걸 사용합니까 . 1) 반복문의 다른 형태를 익힙니다 . 2) ~ 까지 반복한다 . ~ 이면 반복한다 의 사용방법을 익힐 수 있습니다 . 이건 말로 설명하는 것보다 테스트 해보는 것이 빠릅니다. (pptx 설명자료) pptx 파일 ( 中谷 育 さんのイメージで に対して) 本当に可愛い中谷 育さんのイメージが 含まれています。 ありがとうございます。 何か問題があったら、教えてください。 直ちに処理します。

(VB.NET) 1:1 Multiport connection

Basic MultiPort : https://it-jerryfamily.tistory.com/entry/Program-C-multiple-port%EB%A1%9C-%EC%9E%91%EC%97%85%ED%95%98%EA%B8%B0?category=611730 Using socket with asynchronus method : https://www.youtube.com/watch?v=cG5q4XdYIUI&t=1289s AutoScroll : https://www.youtube.com/watch?v=NCBpd3CNRIU 위의 링크에 있는 것들을 조합해서 1:1 Multiport connection을 한 것입니다. Server / Client side가 있는데 몇 가지 아직 몇 가지 문제점이 있어서 공부를 더 해야겠네요~ ㅠㅠ 문법이 생소하기도 하고 새로운 메쏘드도 너무 많아서 99%는 베껴쓰고 1% 정도만 되는데로 고쳐가면서 해결했어요 ~ 머리가 나쁘니 몸이 고생이네요~~ 이제 이걸로 사내 장비에 이더넷 통신을 해서 데이터 기록이 되는지 확인하고, DataGridBox를 추가해서 엑셀로 기록할 수 있게 하면, 꽤나 편한 프로그램이 되겠네요~ ㅎㅎ 이렇게 하는게 맞는지 모르겠는데 일단 해봐야겠네요~  해놓고 매뉴얼을 보니 이게 멀티포트가 아닌가.. Modbus란 것과 헷갈린건가 .. 아직은 잘 모르겠네요~~ https://web-material3.yokogawa.com/IMMV1000-17E_020.pdf https://drive.google.com/open?id=14aub3FWghQHV3mJt4f2aUAw2ySrAfLl6 (참고사항)                  (ServerSocket.vb : 49-53, method : serverAccept() ) socket(i).BeginAccept( AddressOf  ...

(Node.js) XLSX 모듈 사용 / 행렬 파싱 및 조건에 맞는 데이터만 추출

요번에는 Node.js로 아래와 같이 KRX에서 코스피/코스닥 상장사 정보를 취득한 후 네이버에서 원하는 조건에 맞는 정보만 크롤링하는 모듈을 만들어보려고 합니다! 그러면 주식하는 친구들은 조건식을 걸어놓기만 해도 손 안대고 틈틈히 자동으로 수집된 정보를 확인할 수 있게 되겠네요!  (이후에는 자동 메일링까지 추가할 건데 우선은 크롤링해서 유의미한 XLSX로 Export하는 것 까지를 먼저 만들려고 합니다!) 네이버 주식에서 페이지를 확인해보니 종목코드를 기준으로 페이지 주소가 매칭이 되고, 그 유니크한 종목 코드에 유니크한 Selector를 확인하면 데이터 크롤링이 되겠네요! ----- 저는 KRX 사이트에서 업체리스트를 xls로 받아온 뒤에 추출된 결과를 중간에 result.xls로 먼저 저장해놨다가 크롤링할 때 다시 리딩해서 쓰는 방식을 구현해보려고 합니다. VBA / C++ 데이터 처리 방식이 익숙하기도 하고 나중에 불필요하면 떼버리면 되니까요? XLSX Import하는 모듈은 앞서 설명을 드렸었고요, 데이터를 Readfile한 뒤에 조건에 맞는거만 옮겨담는 작업이 필요한데요, 이를 위해 stackoverflow에서 parsing하는 알고리즘을 참고해서 아래와 같이 변형합니다! https://stackoverflow.com/questions/30859901/parse-xlsx-with-node-and-create-json 원본은 data[row][headers[col]] = value인데, XLSX에서 가상의 sheet에 데이터를 넣어주려면 array of arrays 방식이 되어야 하기 때문에, 아래와 같이 우선 빈 배열을 선언하고, row / column을 동적할당(new array()) 후 push 하는 방식으로 처리해줘야 합니다. 제가 아는 방법 중엔 이게 제대로 동작을 하기 때문에 이렇게 바꿔서 사용했습니다. 조건식은 나중에 입력받겠지만,...

(Node.js) EUC-KR을 Cheerio - Iconv-lite로 불러올 때

처음으로 Node.js로 웹 데이터 수집을 해봤는데, 글자가 자꾸 깨져서 수십번의 실패 끝에 되는 방법을 찾았습니다. 웹에는 iconv와 iconv-lite 두 가지 방법이 나오는데, iconv는 무슨 문제에선가 설치가 잘 안됩니다. 그래서 iconv-lite를 이용해서 진행했는데 이 경우에는 아래 순서로 코드가 진행될 것입니다. Request >> Cheerio >> iconv-lite 여기서 Cheerio와 iconv-lite 모듈 사용 위치가 중요한데, 만약 잘못되었다면 '占쏙옙'또는 '�'을 만나게 됩니다. 웹에서 검색해보면 인코딩이 잘못됐으니 로드된 데이터를 iconv-lite로 바꾸라고 하는데, 모듈 사용이 적절하게 되지 않고 데이터를 읽어들이면 이미 깨진 데이터를 저장하기 때문에 역으로 디코딩 자체도 당연히 제대로 안됩니다. 그래서 여기저기서 주워온 지식들을 합쳐보니까 아래와 같이 하면 해결이 됐습니다 ㅎ.ㅎ 오늘도 웹에 계신 수많은 선생님들 감사합니당!!! <방법> 1. request 옵션에서 인코딩은 Null로 설정 2. 아래와 같이 Cheerio에서 불러들일 때 iconv-lite의 iconv.decode(Target 변수, 'EUC-KR') 3. 마지막으로 데이터 출력할 때는 별도의 모듈을 사용하지 않고 .text()로 읽어들인다.