본문 바로가기

전체 글129

Mailchimp - 메일침프 태그 생성하기 기존에 업로드되어 있던 Contacts에 Tag를 설정한 후에, 추후 Segment 생성시 활용할 수 있다. Tag 설정시에는 이메일 주소를 기준으로 설정하게 된다. 따라서 이메일 주소 리스트를 csv, tsv 파일 혹은 1개의 컬럼으로 이루어진 이메일주소 리스트를 클립보드 상에 준비해놓아야 한다. 메일침프에 접속, 로긴한다. 상단 바에서 Audience 메뉴를 클릭한다. Tags 박스에서 우측 하단 View all tags> 를 클릭한다. Bulk Tag Contacts를 클릭한다. 파일이라면 Import를, 클립보드에 복사되어 있다면 paste를 클릭한다. (이 때, 따옴표 등으로 감싸져 있다면 정상적으로 업로드되지 않을 수 있으므로 복사할 때 unquoted type으로 준비하는 것이 좋다) 붙여넣.. 2020. 1. 26.
4월 캐나다 여행 계획하기 - ETA 신청하기 2020년엔 연휴가 적다고들 한다. 그래서 4월에서 5월로 이어지는 석가탄신일, 노동자의날, 어린이날 공휴일을 주목하는 사람들이 많다. 이럴 땐 선점해야 한다 .... 🤭 한 해에 한번씩은 먼 곳으로 날아가기를 좋아하는 터라 올해엔 어딜갈까 하다가, 길게 생각하지 않고 지인이 살고 있어서 어느정도로 가이드가 가능한 (함께 동행하지는 않아도 여러 조언이 가능하고, 안정감을 느낄 수 있는) 그리고 아주 친한 친구가 곧 워킹홀리데이를 떠나기 때문에 여차하면 만날 수도 있는, 캐나다로 정했다 🇨🇦 물론 항공권이 다른 시기에 비해 비싼 편이긴 한데, 시간이 더 소중하다고 생각하고 항공권을 질러버림..... (몰라 할부해) 비행기 표 사기 전에는 여행이 아직 시작된게 아니라는 말이 있듯이, 막상 사고나니까 정말 가.. 2020. 1. 25.
Python - 정규표현식 { } { }는 앞선 문자의 반복을 의미한다. 예로, a{3} : a가 세번 반복, 즉 aaa 가 나타날 때 match된다. a{2, 5}는 최소 2회에서 5회까지 반복되어야 함을 의미한다. (aa~aaaaa 까지 가능) a{1, }는 a에서 무한대까지 반복될 수 있음을 의미. (= a+) a{0, }는 a가 나타나지 않는 것부터, 무한대까지 반복될 수 있음을 의미. (= a*) ex ) do{2,4}g : d 다음에 o가 최소 2번, 최대 4번까지 나올 수 있다는 의미 print(re.match('do{2,4}g', 'dog')) # None print(re.match('do{2,4}g', 'doog')) # match = 'doog' print(re.match('a{3}', 'aaabbbccc')) # ma.. 2019. 11. 4.
Python - 정규표현식 ( * , + , ? , . ) 정규식에서 각각의 문자의 의미 1. * : 패턴이 0개 이상 있는지 확인한다. 0개여도 None을 출력하지 않고 ''를 출력함. # *이 0개 이상 있는지 확인하기. 0개여도 첫번째꺼 뽑아냄 print(re.match('[0]', "12a3bcd")) # None print(re.match('[0-9]', "12a3bcd")) # print(re.match('[0-9]*', "12a3bcd")) # print(re.match('[0-9]', "a12a3bcd")) # None print(re.match('[0-9]*', "a12a3bcd")) # 2. + : 패턴이 1개 이상 있는지 확인함. 0개일 때는 None을 출력함 print(re.match('[0-9]','123bcd')) # match = '1.. 2019. 11. 4.
Python - 정규표현식 메타문자 [] 메타문자 [ ](대괄호, square bracket)를 활용한 정규식. 대괄호 안에 어떤 문자도 올 수 있으며, 대괄호 안에 들어간 문자열 중 한 개의 문자만 만족해도 매치된다. 예로, re.match("[abcdef]", "a")는 "a" 가 매치되고, re.match("[abcdef]", "all") 역시 "a"가 매치되는 결과를 나타낸다. 아래는 여러가지의 예시. print(re.match("[abcdef]","a")) # 결과: print(re.match("[abcdef]","sky")) # 결과: None print(re.match("[abcdef]","all")) # 결과: print(re.match("[abcdef]","allall")) # 결과: print(re.match("[abcdef].. 2019. 11. 4.
Python - 정규표현식 re.match() 정규표현식 활용을 위한 import import re re.match 함수는 패턴을 만족하는 첫 번째 문자열을 찾는 함수. re.match('패턴', '판단할 문자열') 형태로 쓰며 판단할 전체 문자열에서 패턴을 만족하는 문자열을 찾게 됨. re.match('Hello','Hello, world!) # Hello, world 문자열에 Hello라는 패턴이 있는지 # 결과: match된 값으로 'Hello'라는 문자열이 있음을 출력함. 그런데 re.match는 앞쪽부터 매치되는지를 찾기 때문에, 뒷 부분까지 검토하지 못하는 경향이 있음 re.match('world', 'Hello, world!') # Hello, world에 world라는 패턴의 문자열이 있는지 # 결과: 아무런 결과도 나타나지 않음. (.. 2019. 11. 4.
Python - n개의 리스트의 항목을 같은 인덱스끼리 묶기 2개 이상의 리스트에서, 같은 인덱스에 해당하는 값끼리 다시 묶어서 출력하고자 할 수 있다. 이럴 때에 zip 함수를 활용! zip(리스트1, 리스트2, 리스트3... ) 인자를 넣어준 후 list로 다시 묶으면 된다. 활용 예. list(zip([1,2],[3,4],[5,6])) # 같은 인덱스끼리 묶어주기 # 결과: [(1, 3, 5), (2, 4, 6)] 2019. 11. 4.
Python - filter 함수 리스트에서 특정 조건을 만족하는 항목만 골라서 출력할 때, filter 함수를 활용할 수 있다. 먼저 0보다 큰 항목인지를 검토하는 함수를 정의해준다. def pnum(data): return data>0 함수에 1이라는 인수를 대입하면 True라고 출력되지만, [1, 2, 0, 5]라는 리스트를 대입하면 오류가 발생한다. pnum(1) #결과값: True pnum # TypeError : '>' not supported between instances of 'list' and 'int' filter 함수를 활용하면 해결할 수 있다. 필터함수는 filter(함수명, 인수) 형태로 활용 예는 아래. list(filter(pnum, [4,6,-5,-7,0])) # 결과: [4, 6] 2019. 11. 4.
Python - enumerate() enumerate 함수는 반복가능한 자료를 전달받아 index와 값을 함께 출력할 때 유용함. a라는 배열에 다음과 같은 값이 있고, 항목을 일반적으로 출력할 때 다음과 같다. a = ['bye','my','blue'] for i in a: print(i) # 결과: bye my blue 결과값은 bye, my, blue가 세 줄에 걸쳐 출력됨. 여기서 enumerate 함수를 활용하면 각각의 항목에 대한 index까지 뽑아낼 수 있다. for i, n in enumerate(a): print(i,n) # 결과: 0 bye 1 my 2 blue 결과값은 0 bye, 1 my, 2 blue가 세 줄에 걸쳐 출력된다. 반대의 순서로 아래와 같이 출력할 수도 있음. for i, n in enumerate(a).. 2019. 11. 4.