반응형

전체 글 88

[openpyxl] 특정 셀을 복사해서 붙여 넣을 때

이 때는 ws.cell을 이용해서 old, new variable을 만들어줘서 해주면 됩니다. 예를 들어 1행 1열에 있는 값을 복사해서 11행 5열로 옮긴다고 하면 우선 기존 1행 1열 값을 적어주고 이걸 기존의 새로운 값으로 넣어준다고 하면 됩니다. old_cell=ws.cell(1, 1) new_cell=ws.cell(11, 5, value=old_cell.value) 여기서 조심해야 할 게 .value입니다. value option에 old_cell.value라고 하는 거 잊지 마시구요. 마찬가지로 1행 2열을 특정 장소로 옮긴다고 하면 old_cell=ws.cell(1, 2) new_cell=ws.cell(12, 5, value=old_cell.value) 결과는 다음과 같습니다.

[openpyxl] 특정 셀을 옮길 때

이번에는 특정열이나 행이 아니라 특정 셀을 옮기려고 해봅시다. 이 때는 _move_cell()이라는 명령어를 씁니다. _move_cell(기존 셀의 행, 기존 셀의 열, 행을 얼마나 옮길지, 열을 얼마나 옮길지) 예를 들어 ws._move_cell(1, 1, 10, 0) 이렇게 적으로면 A1에 있는 셀을 10열 내려서 옮겨라가 되겠지요? 앞의 move_range와는 다르게 move_cell에서는 앞에 _가 있는 거 잊지 마시기 바랍니다. ws1._move_cell(1, 1, 10, 0)

[openpyxl]특정 행, 열 등을 이동 할 때

밑에 설명에 이어서 특정 행, 특정 열 등을 옮기고 싶다고 하면, move.range() 을 이용하면 됩니다. 예를 들어, ws를 sheet으로 설정해놓고 특정 열(A1부터 J10까지)을 10열 밑으로 이동시켜라 하면, ws1.move_range("A1:A10", rows=10, cols=0) (자꾸 명령어에 row's', col's' 끝에 s를 두는 걸 까먹네요.. 헷갈리지 마시길). 결과는 다음과 같이 나옵니다.

[Python] text 편집 완전 기본

이번편은 text 문서 불러오는 법, 여기에 새로운 내용 추가하는 법등을 배워볼까 합니다. 우선 아무런 library도 필요없구요. 기본적으로 text file을 하나 만들어봅시다. 이거는 오로지 jupyter notebook에서만 사용가능한 방법이라 그외의 프로그램에서는 별 의미가 없습니다. 주피터에서는 다음과 같이 텍스트 파일을 생성할 수 있어요. %%writefile 파일명.txt %%writefile test.txt Hello, this is a quick test file. This is the second line of the file. 이렇게 우선 만들고 이 파일을 불러옵니다. 그냥 open만 해주면 됩니다. myfile=open('test.txt') 이렇게만 하면 안 읽히고 myfile.r..

[Python] text 검색 기본 function#3: group, ., +

앞에서 pattern은 이런 식으로 r'/d{3}-/d{3}-/d{4}' 이렇게 표현할 수 있다고 하는데요. 이번에는 이걸 하나씩 그룹으로 묶을 수도 있습니다. 예를 들어 숫자 안에 괄호를 넣어서, pattern을 만든 다음에, pattern=r'(/d{3}-)(/d{3}-)(/d{4})' text="my phone is 123-456-0022" mymatch=re.search(pattern, text) 이걸 그룹으로 묶은 다음에 각 그룹의 내용을 검색하라고 하면 됩니다. mymatch.group() # 전체 결과 mymatch.group(0) # 전체 결과 mymatch.group(1) # 결과는 123 mymatch.group(2) # 결과는 456 각 숫자가 들어간 모든 단어들을 뽑아내라고 하면 ...

[Python] text 검색 기본 function#2

저번에 이어 이번에는 특정 포맷을 검색하는 법을 알아보고자 합니다. 예를 들어 xxx-xxx-xxxx형태의 전화번호가 몇 번이나 나오는지 알고 싶다고 하면, 우선 포맷을 정의해줘야 합니다. 우선 패턴 타입을 지정해줘야 하는데 숫자는 /d를 통해서 표현해줍니다. 그런데 패턴을 적을 때는 반드시 r을 앞에다 붙여주는 거 잊지 마세요! myphone="My phone is 833-745-2155 and my wife's one is 833-222-4901." re.search(r'/d/d/d-/d/d/d-/d/d/d/d', myphone) 그러면 첫번째 결과를 찾아줍니다. 그런데 매번 r + /d 이 조합을 여러번 적는 건 귀찮기 때문에 아래처럼 해줘도 됩니다. re.search(r'\d{3}-\d{3}-\d..

[Python] text 검색 기본 function: re.search/re.findall/re.finditer

오늘은 특별한 library 없이 해당 문서에서 특정 단어를 찾아내는 방법을 알아보고자 합니다. 가장 기본은 in을 통해서 쓰는 겁니다. 아래처럼 "phone" in "this is my phone" 결과는 당연히 True가 나옵니다. 조금 더 긴 문장으로 하고 변수로 지정해본 다음에 테스트하면? myphone="My phone is 833-745-2155 and my wife's one is 833-222-4901." "833" in myphone 역시 True로 나오겠죠. 두번이 있으니 833이. 그런데 이것보다 조금 더 자연스럽게 function을 이용해서 찾아주는 방식이 있는데요. 파이썬 기본 라이브러리인 re (Regular expression operation)에서 search를 통해서 찾는 ..

Python 2020.09.08

[pandas] 행, 열 합(sum) 구하기

revenue=pd.read_csv("revenue.csv", index_col="Date) revenue라는 데이터 열고 그 중 맨 처음 칼럼인 날짜 칼럼을 인덱스 칼럼으로 지정합니다. 일반적으로 더하는 기능은 .sum입니다. 위의 데이터프레임에 revenue.sum을 하면 각 칼럼마다의 총합을 보여줍니다. 만약에 각 열(row)별로 합을 구하고 싶다고 하면 revenue.sum(index=1)을 해주면 됩니다 (기본은 index=0으로 되어 있음). revenue.sum(index=column)으로 해도 같은 결과입니다. (열 간의 합) index는 거기를 고정시켜준다는 개념으로 보면 되요~

[pandas] 데이터프레임 속성 확인 명령어들

nba=pd.read_csv("nba.csv") #nba 파일을 불러서 nba 이라는 이름을 줍니다. nba.head(): 첫 5열 보여줌 nba.head(10): 첫 10열 보여줌 nba.tail(): 마지막 5열 보여줌 nba.tail(7): 마지막 7열 보여줌 nba.index: row의 갯수를 얘기해줌. 예를 들어 0에서부터 459까지 있는데 1씩 있다. 이런 식으로. nba.values: 각 row를 array (tuple)단위로 묶어셔 몇 개 보여줌. (numpy array에 기반) nba.shape: row, column 수 한 번에 보여줌 #유용! nba.dtypes: 각 column의 속성을 보여줌; object, float64, .. nba.dtypes.value_count: objec..

반응형