반응형

Python 28

shift + tab(연속)은 생각보다 유용하다

앞에서 tab키를 누르면 명령어 리스트가 나온다고 했는데, 어쩌면 이것보다 더 유용한 것이 shift + tab이다. 명령어를 치고 나면 보통 조건을 같이 적어야 하는 경우가 종종 있는데 그 조건에 뭘 넣어야 하는 건지, 조건식이 어떻게 되는지 헷갈릴 때가 많다. 그 때 자주 쓰이는 것이 shift + tab이다. shift + tab를 한 번 누르면 아주 기본적인 명령어 조건 (무슨 파라미터를 넣어야 하는지) 등이 나오고 shift + tab 두 번, 세 번, 혹은 네 번까지 누르면 더 자세한 내용들이 나온다. 두 번은 약간 자세하게, 3번은 제일 자세하게, 4번은 제일 자세한 버전을 아예 따로 창을 만들어 보여준다. 아래는 shift + tab (총4번) 을 한 경우이다. df는 pd.read_csv..

Tab키를 누르면 고를 수 있는 명령어가 뜬다

라이브러리를 부르고 탭 키를 누르면 선택할 수 있는 함수 목록들이 쭉 뜨는 걸 의외로 사람들이 모르는 경우가 많다. 예를 들어 아래처럼 판다스 라이브러리를 열고 pd라고 치고 "Tab"키를 누르면 선택할 수 있는 명령어들이 알파벳 순서로 나온다. 알파벳을 조금 치고 탭 키를 눌러도 그 안에서 고를 수 있는 명령어들이 쭉 나온다. 명령어가 헷갈리면 탭 키를 자주 사용하도록 하자.

[pandas] 보여주는 데이터 열 개수 변경하기; pd.options.display.min

pd.read_csv로 파일을 열고 나면, 판다에서 보통 10개 정도 데이터 열을 보여준다. 근데 가끔 아 "데이터 열 좀 더 혹은 덜 보고 싶은데"라는 느낌이 들 때가 있다. 물론 이 때는 head라는 명령어를 통해서 보여주는 열 수를 조정할 수 있는 게 일반적. 예를 들어 내가 gas라는 데이터프레임을 열었다고 해보자. gas=pd.read_csv("incident_gas_transmission_gathering_jan2010_present.csv") gas.head(3) 이렇게 하면 아래처럼 딱 세 열만 보여준다. 당연히 gas.head(20)으로 하면 20개 보여줄 것이고. 그런데 이런 head 명령어 사용하지 말고 그냥 데이터프레임 딱 치면 기본적으로 보여주는 열 갯수 옵션을 바꾸고 싶다고 하면..

[openpyxl] 행이나 열 전체를 복사해서 이동

앞에서는 그리고 복사할 때는 그냥 value 옵션을 이용해서 하면 된다고 했는데, 행이나 열 전체를 옮길 때는 조금 살짝 복잡할 수 있습니다. 우선 1행 전체를 다 옮겨서 10줄 아래로 옮긴다고 가정하면, 일단 전체 rows를 지정해줘야 합니다. rows=ws.iter_rows(min_row=0, max_row=0) 그리고 각 row를 읽어주고 그 row에 있는 cell value 값을 다시 읽어주고 옮겨주면 됩니다. for row in rows: for cell in row: cell_new=ws.cell(row=15, column=cell.col_idx, value=cell.value) 여기서 cell.col_inx는 칼럼 배열 숫자를 얘기합니다. cell이 쓰는 칼럼 넘버. 종종 쓰세요. 유용합니다..

[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..

반응형