짱이 될거야
2022-09-15: Python으로 excel 파일 읽고 수정 및 저장 본문
1. Excel 파일 읽어오기
먼저, VSCode에 python 파일을 하나 만들고, pandas library를 import 한다.
import pandas as pd
이후, 읽어올 엑셀 파일 경로를 변수에 저장해둔다. 매번 경로를 적지 않고 변수를 사용하면 훨씬 편리하다.
# 읽어올 엑셀 파일 지정
filename = './data.xlsx'
이제 엑셀 파일을 읽어와야 하는데, pandas의 read_excel을 활용한다.
# 엑셀 파일 읽어 오기
df = pd.read_excel(filename, engine='openpyxl')
이 때 openpyxl이 없다는 에러가 뜰 수 있는데, pip install openpyxl을 하면 해결된다.
2. Excel 파일에 열 추가하기
엑셀 파일에 열을 추가하는 것은 간단한데, 아래와 같이 추가할 열의 이름을 적고 넣을 값을 적으면 된다.
결과를 확인하고 싶다면 print(df)를 통해 볼 수 있다.
df['index'] = 0
# print(df)
3. Excel의 한 셀 선택하기
1 | name | idx |
2 | apple | 0 |
3 | banana | 0 |
4 | orange | 0 |
위와 같은 예시 테이블이 있다고 가정하자. 이 때, apple이 있는 셀을 선택하고 싶다.
excel의 한 셀을 선택할 때는 열제목과 행제목 부분은 제외되기 때문에 apple 값이 들어있는 셀의 위치는 [0, 0], banana가 들어있는 셀의 위치는 [1, 0]이다.
따라서 apple을 선택하고 싶다면 변수에 아래의 값을 넣으면 된다.
name = df.iat[0, 0]
4. Excel에서 For문 돌리기
마찬가지로 위의 표를 예시로 해서 설명하면, excel에서 for문을 돌릴 때는 apple부터 orange가 있는 행까지만 돌리면 된다. 여기서 헷갈리는 부분은 apple의 셀 위치는 [0, 0]인데, 실제 엑셀에 나타나는 셀 위치는 [2, B]이다.
따라서 행 For문을 돌릴 때는 제목을 제외한 값이 들어있는 행 만큼 돌리면 된다.
이 예시에서는 아래와 같은 코드가 될 것이다.
for i in range(3): # 행
if df.iat[i, 0] == name:
pass
else:
pass
열까지 탐색하고 싶다면 2중 for문을 활용하면 된다.
5. Excel 저장하기
excel 저장하는 방법도 꽤 간단한데, 아래와 같이 코드를 입력하면 된다.
df.to_excel('./data.xlsx', sheet_name='new_name')
'Today I Learned' 카테고리의 다른 글
2022-09-17: VMWare(Ubuntu 22.04)에서 한글 사용하기 (0) | 2022.09.17 |
---|---|
2022-09-16: Hadoop에 Spark 설치하기 (1) | 2022.09.16 |
2022-09-06: Python 네이버 쇼핑몰 후기 웹 크롤링 1탄 (1) | 2022.09.06 |
2022-09-02: Github 꾸미기 (0) | 2022.09.02 |
2022-08-05: HTTP STATE CODE (0) | 2022.08.05 |