일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 코로나19
- 봉준호감독통역
- 웨일즈
- 확진자수
- 치앙마이
- 조현병
- red hearse
- 창궐
- 전염병
- 봉준호감독통역사
- 최성재
- 어서와한국은처음이지
- 신종코로나
- wuhan
- everybody wants you
- 코로나
- 코로나바이러스
- 우한 코로나
- parasite
- 진짜영웅
- 미중
- Bolton
- sharonchoi
- cnn
- 중국외교부
- 정은경 본부장님
- 우한코로나바이러스
- 필리핀사망
- 우한
- 우한코로나
- Today
- Total
목록개발노트 (114)
오지's blog
네이버 스마트 스토어 크롤러를 개발하기 위해 날짜 선택을 하는데 무적 xpath로 접근하면 unable to locate라는 에러가 발생한다. 분명 소스 코드에는 해당 xpath가 있는데 에러가 발생한다.. 이유인즉슨, 접근하려고 하는 코드가 iframe으로 묶여 있으면 iframe에 먼저 접근한후 해당 xpath로 접근하면 된다. 다음코드를 xpath접근전 붙여 넣으면 해결된다. '//*[@id="__delegate"]' 와 같은 xpath는 사이트에 맞게 수정하면 된다. iframe = driver.find_element(By.XPATH, '//*[@id="__delegate"]') driver.switch_to.frame(iframe)
기존의 db에서 update 를 하려고 했을때, delete를 하려고 하면 건건이 지워야 했다. 지워야할 데이터가 많으면 약 5만건의 경우 경험상 7시간 정도 소요되었다. 이때를 대비하여 DELETE FROM ES_MEMBERCOUPON AS T1 INNER JOIN USING ES_MEMBERCOUPON_TEMP AS T2 WHERE T1.MEMBERNO == T2.MEMBERNO 이렇게 key만 존재하는 temp테이블을 만들고 DELETE문에 JOIN을 함께 사용하여 지운다.
mysql의 소스에서 snowflake의 target으로 데이터를 가져와 적재는 하는데 target에 그 해당날짜에 있는 데이터는 snowflake client를 통해서 삭제 하고 mysql의 데이터를 가져와 적재하였다. 그런데 아래와 같이 MySQL server has gone away (ConnectionResetError(104, 'Connection reset by peer')) sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2006, "MySQL server has gone away (ConnectionResetError(10054, '현재 연결은 원격 호스트에 의해 강제로 끊겼습니다', None, 10054, None))")..
에러메세지: 100096 (22007): Can't parse 'y' as timestamp with format 'AUTO' 에러 발생 원인과 해결책 관련 에러 ValueError: unsupported format character 'Y' (0x59) at index 1530 파이썬에서는 %를 %%로 묶어야 문자열 %으로 인식한다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/IRRXA/btrBDn6SK0K/4H0K0oDcM20u6jOIgMiank/img.png)
Numeric value 'referral' is not recognized 정확하게는 다음과 같이 에러가 발생했다. 분명히 varchar값인데 숫자값이라며 값을 인지하지 못하여 넣을수 없다고 한다. SELECT T.$1, T.$2, T.$3, T.$4, T.$5, T.$6, T.$7 from @M/220509/ga/SOCIAL_MEDIUM.csv (FILE_FORMAT=>'O_ga_DPN_SOCIAL_MEDIUM') as T; insert를 하면 error가 발생하기 때문에 select문을 통해 우선 데이터를 조회해보았다. describe table table_name;의 쿼리로 6번째 컬럼의 type을 조사하니 number type이었다. 컬럼 순서가 바뀌면서 number타입의 데이터통에 varcha..
from cloudpathlib import CloudPath, S3Client client = S3Client(aws_access_key_id = '', aws_secret_access_key = '') cp = client.CloudPath("s3://bucket_name") cp.download_to("./") s3의 특정 버킷내 파일을 모두 다운로드 하는 방법은 awscli를 이용하는 방법, 클릭해서 모두 다운로드 하는 방법, boto3 라이브러리를 사용하는 방법이 있다. 이중에서 boto3의 wrapup클래스인 cloudpathlib을 이용하여 다운로드 할수 있다. 매우 간단
어이 없지만 .. 해결은 했다. 역시나 stackoverflow가 해결해주었다. 문제는 java_home의 path문제 였다.... 허무하다.이것때문에 하루를 꼬박 고민을 했을까? Reference. https://stackoverflow.com/questions/49340941/the-system-cannot-find-the-path-specified-error-while-running-pyspark The system cannot find the path specified error while running pyspark I just downloaded spark-2.3.0-bin-hadoop2.7.tgz. After downloading I followed the steps mentioned her..
크롤링해서 받은 csv파일에 bom문자가 있었다. 이것을 df = pd.read_csv(os.path.join(filefullpath, filename), encoding='utf-16', header=None) df.iloc[:,0] = df.iloc[:,0].apply(lambda x : x.replace("\ufeff","")) 이렇게 가져오면 문제가 주문번호와 같은 숫자같은 문자열에 .0이 붙어 float형으로 바뀌었다. 알고보니 dataframe에서 int타입인줄알고 읽었는데 nan값이 있으면 int타입은 nan값을 허용하지 않으므로 float형으로 자동적으로 바뀌는 문제가 있었다. 그렇다고 df.iloc[:,0] = DF.iloc[:,0].apply(lambda x : x.replace("\u..
11 Tips And Tricks To Write Better Python Code https://www.youtube.com/watch?v=8OKTAedgFYg 1. range(len(x))보다 enumerate(x)를 사용하자 2. for loop보다 list comprehension을 사용하자. import time sq = [] start = time.time() for i in range(0, 100000000): sq.append(i*i) end = time.time() print(end - start) start = time.time() sq = [i*i for i in range(0, 100000000)] end = time.time() print(end - start) 3. 복잡한 리스트..
-- CREATE -- WAREHOUSE CREATE OR REPLACE WAREHOUSE A_WH WAREHOUSE_SIZE=XSMALL MAX_CLUSTER_COUNT=1 MIN_CLUSTER_COUNT=1 SCALING_POLICY=ECONOMY AUTO_SUSPEND=60 AUTO_RESUME = TRUE; -- DATABASE CREATE OR REPLACE TRANSIENT DATABASE A_WDB; -- SCHEMA CREATE OR REPLACE TRANSIENT SCHEMA ODS; CREATE OR REPLACE TRANSIENT SCHEMA DW; CREATE OR REPLACE TRANSIENT SCHEMA DM; -- ROLE CREATE OR REPLACE ROLE READ_R..