반응형

분류 전체보기 684

Apps Script로 Google Sheets의 종속되는 Dropdown 만들기

입력시트에서, 공통데이터 시트의 데이터들을 dropdown으로 선택하여 입력하고 싶다. 하지만 data validation을 위해 시도에서 서울시를 선택하면 서울시에 해당하는 지사들만 입력하고 싶다. 동작지사 강남지사 강남지사 중구지사 중구지사 관악지사 강북지사 강동지사 공통데이터에서 사용할 데이터 범위의 이름을 먼저 지정해준다. 범위를 지정하고, 우클릭을 한 뒤 [이름이 지정된 범위 지정] 을 클릭한다. 범위 이름을 지정하면, 오른쪽과 같이 지정된 셀 범위의 이름을 확인 할 수 있다. /** * 데이터 구조 가져오기. */ function getStructreData() { const ss = SpreadsheetApp.getActive(); const data = ss.getRangeByName("d..

GCP/Apps Script 2023.01.12

Apps Script로 Sidebar를 이용한 이메일 전송 컴포넌트 개발

정해진 양식으로만 이메일을 보내보는것을 해봤다. Apps Script로 Email 보내기 (HTML 양식) 이메일을 보내는 기능을 구현한다. 이메일의 경우는, Google Sheets로 관리되는 거래내역이나 급여내역 등을 다수 전송 할 경우 사용 할 수 있을것이다. 템플릿을 만들고, Google Sheets의 데이터들을 whiseung.tistory.com 수신자와 내용을 입력해 보낼 수는 없을까? Google Sheets에서 제공하는 sidebar를 이용해 메일을 보내본다. 일단 상단 메뉴를 만든다. - Code.gs // Code.gs function onOpen() { SpreadsheetApp.getUi() .createMenu('✉️ email') .addItem('📨 email sender',..

GCP/Apps Script 2023.01.12

Apps Script로 Email 보내기 (HTML 양식)

이메일을 보내는 기능을 구현한다. 이메일의 경우는, Google Sheets로 관리되는 거래내역이나 급여내역 등을 다수 전송 할 경우 사용 할 수 있을것이다. 템플릿을 만들고, Google Sheets의 데이터들을 붙여넣어 보낼 수 있을것이다. 단 발신자는 AppsScript의 생성자 계정으로 변경 할 수 없다. Apps Script 의 이메일 전송 함수 /** * Send Email. * 이메일을 이용한 Notify. * @param {string} recipient = 받는사람 * @param {string} subject = 제목 * @param {string} body = 내용 * Ref = */ function sendEmail(recipient, subject, body) { var recip..

GCP/Apps Script 2023.01.11

Virtualenv(venv) 로 python 다른 버젼 가상환경 설정

python 3.6 버전의 패키지가 필요하다. 하지만 로컬 pc에 설치되어 사용중인 python은 3.9이다. 바로 venv를 실행하면, 3.9버전으로 생성이된다. PS C:\workspace\api> python --version Python 3.9.10 PS C:\workspace\api> mkdir setup 디렉터리: C:\workspace\api Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2022-12-09 오후 1:58 setup PS C:\workspace\api> python -m venv .venv PS C:\workspace\api> .\.venv\Scripts\activate (.venv) PS C:\wo..

Study 2023.01.11

JAVA 프로젝트로 GCP BigQuery의 Select 쿼리 실행 해보기

Java로 GCP BigQuery의 dataset 을 가져와 봤으니, 데이터셋 안에 생성된 테이블의 데이터를 select query로 가져와본다. ■ 호출부 void contextLoads() throws Exception { System.out.println("############### start ###############"); String projectId = "projectId "; String datasetName = "datasetName "; String tableName = "tableName "; // select String selectQueryString = "SELECT col01, col02, col03 " + " FROM `" + projectId + "." + datasetN..

GCP/BigQuery on GCP 2023.01.10

AppSheet 에서 AppSheet Database 훑어보기

Google 에서 제공하는 AppSheet 처음 접했을때는, App에서 Google Sheet의 데이터를 관리할수 있도록 하는 형태의 서비스였다. (구글시트 데이터) (AppSheet 화면) 하지만 현재 Google Drive 뿐만 아니라, BigQuery, RDBMS 등에도 접근이 가능하다. AppSheet 에서 새로운 프로젝트를 만들어본다. 프리뷰 서비스인 Database 를 만들어본다. [+ Create] → [Database] → [New database] 데이터 베이스를 생성했을 때 초기 값. 컬럼과 데이터를 수정해본다. 그리고 새로운 App 을 생성해본다. [Data] 메뉴에 위에서 생성한 Database와 동일한 데이터가 보여지는지 확인한다. [Views] 메뉴에서 화면 layout 등을 변..

GCP 2023.01.09

Apps Script로 어제 KOSPI 지수 Telegram으로 아침에 조간 브리핑 받기

Nasdaq이랑, 어제자 증권뉴스만 정보를 가져왔다. 정작 kospi 지수를 가져오지를 않았다. https://www.data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15094807 금융위원회_지수시세정보 한국거래소에서 제공하는 지수의 시세 정보 주가지수시세, 채권지수시세, 파생상품지수시세에 대한 오퍼레이션을 제공한다. www.data.go.kr /** * KOSPI 지수 전일자 조회 */ function goodMorningKospi() { const returnType = "json"; // JSON || XML const yesterday = getTodayDate("", "yesterday"); const kospi_url = `https:..

GCP/Apps Script 2023.01.09

Apps Script로 어제자 네이버 증권 시황 뉴스를 cheerio를 이용해 크롤링 해오기

하나 하나 붙이다보니 욕심이 생겼다. 매일아침 출근길에 증시관련 뉴스를 헤드라인만 받아보고 싶었다. python에서 크롤링은 해봤는데, apps script에서도 시도해 보았다. https://finance.naver.com/news/mainnews.naver 주요뉴스 : 네이버 증권 관심종목의 실시간 주가를 가장 빠르게 확인하는 곳 finance.naver.com 아침 출근시간에 오늘자 뉴스를 받게되면, 뉴스가 없을것 같다. 그래서 어제자 뉴스를 조회하기로 했다. https://github.com/tani/cheeriogs GitHub - tani/cheeriogs: Cheerio for Google Apps Script Cheerio for Google Apps Script. Contribute to..

GCP/Apps Script 2023.01.06

Apps Script로 지난 밤 Nasdaq 지수 Telegram으로 아침에 조간 브리핑 받기

매일아침에 정보를 받는데, 욕심이 생긴다. 지난밤 Nasdaq 지수도 받아보고 싶다. function nasdaqYesterday() { const nasdaqUrl = ""; const response = UrlFetchApp.fetch(nasdaqUrl, { method : "GET", header:{ "contentType" : "application/json" } }); const json = response.getContentText(); const returndData = JSON.parse(json); const data = returndData.FormattedQuoteResult.FormattedQuote[0]; const message = `${data.last_time} ${data...

GCP/Apps Script 2023.01.05

AWS Glue로 S3 에 저장된 parquet 파일 읽어보기

pyspark으로 읽어본다. spark.read.parqeut 명령어로 간단하게 읽어볼 수 있다. import sys from awsglue.transforms import * from awsglue.utils import getResolvedOptions from pyspark.context import SparkContext from awsglue.context import GlueContext from awsglue.job import Job ## @params: [JOB_NAME] args = getResolvedOptions(sys.argv, ['JOB_NAME']) sc = SparkContext() glueContext = GlueContext(sc) spark = glueContext.sp..

AWS 2023.01.05
반응형