728x90
파이썬에서는 엑셀을 다룰 수 있는 모듈을 제공한다.
제공하는 모듈은 csv파일을 핸들링할 수 있다.
다음과 같은 과일에 대한 csv파일이 있고 우리는 이 값들을 가져와 우리의 코드에 사용하려고 한다.
test.py 를 다음과 같이 작성한다.
import csv
with open('fruit.csv','r') as f:
reader = csv.reader(f)
print(reader)
결과 값은 다음과 같다.
<_csv.reader object at 0x000001E342E029E8>
csv reader를 통해 reader에 object를 가져온 것을 확인 할 수 있다.
그렇다면 어떻게 사용할 수 있을까? 딕셔너리를 이용하면 된다.
다음과 같이 코드를 수정해보자.
import csv
with open('fruit.csv','r') as f:
reader = csv.DictReader(f)
for column in reader:
print(column)
C:\Users\devgu\Desktop>python test.py
OrderedDict([('index', '1'), ('name', 'apple'), ('price', '3000')])
OrderedDict([('index', '2'), ('name', 'banana'), ('price', '10000')])
OrderedDict([('index', '3'), ('name', 'watermelon'), ('price', '20000')])
OrderedDict([('index', '4'), ('name', 'plum'), ('price', '5000')])
그렇다면 가격들만 가져오려면 어떻게 수정하면 될까? 딕셔너리기 때문에 다음과 같이 수정하면 된다.
import csv
with open('fruit.csv','r') as f:
reader = csv.DictReader(f)
for column in reader:
print(column['price'])
C:\Users\devgu\Desktop>python test.py
3000
10000
20000
5000
읽는 것을 했으니 이번엔 써볼 차례이다.
다음과 같은 2차원 데이터가 있다.
data = [[10,20,30],[40,50,60],[70,80,90]]
이 데이터를 data.csv로 저장해보도록 하자. 다음과 같이 코드를 작성하면 된다.
import csv
data = [[10,20,30],[40,50,60],[70,80,90]]
with open('data.csv','w', newline='') as f:
makewrite = csv.writer(f)
for number in data:
makewrite.writerow(number)
프로그램을 실행시키면 py 파일이 있는 위치에 다음과 같이 csv파일이 생성된 것을 확인할 수 있다.
파일을 열었을 때도 정상적으로 저장된 것을 확인할 수 있다.
728x90
'ETC > Python' 카테고리의 다른 글
Python Naver Login 보안문자(캡챠) 우회, 피하기 (0) | 2020.08.11 |
---|---|
Python Selenium 설치 및 Naver Login 하기 (0) | 2020.08.10 |
파이썬 exe 파일 만들기 + 자동으로 꺼지는 현상 해결 (0) | 2020.07.26 |
Python을 이용해서 Email 보내기 (1) | 2020.07.23 |
Daum Login with Python requests 1(소스코드) (5) | 2020.07.09 |