오늘은 csv데이터를 가지고 데이터 파일을 읽고, 분석하는 방법을 배울 것이다.
1. csv파일이란?
Comma Separated Values
표형태이다. spread sheet같은 표들에 적합한 데이터이다.
엑셀파일을 생각하면 된다.
데이터는 comma , 로 연결되어 있다.
컴퓨터 엑셀파일로 보면 이런 형태이지만,
파이참에서 csv 파일을 보면 ,로 연결되어 있는 것을 알 수 있다.
2. readlines() 사용
파일을 한줄씩 리스트 형태로 불러오기
with open("weather_data.csv") as data:
day_weather = data.readlines()
print(day_weather)
그런데 그냥 불러오니
데이터를 그대로 쓰기가 불편해보인다.
리스트 안의 요소가 , 로 연결되어 있기 때문에
더 손질할 것들이 보인다.
한 단계 더 거쳐야 쓸 수 있는 데이터가 되겠다.
3. csv 내장 라이브러리 활용
다행히도
파이썬은 csv 데이터를 효율적으로 처리할 수 있도록
내장 라이브러리를 가지고 있다.
이를 이용해 데이터를 살펴보자.
import csv
with open("weather_data.csv") as data:
day_weather = csv.reader(data)
print(day_weather)
읽어진 데이터는 객체는 iterable하여 반복문을 돌려 각 행의 데이터를 한 줄씩 볼 수 있다.
import csv
with open("weather_data.csv") as data:
day_weather = csv.reader(data)
for row in day_weather:
print(row)
각 요소들은 하나의 값으로 분리되어 있다.
데이터를 작업하는 것이 쉬워졌다.
여기서 temperature 온도 데이터만 따로 모아서 리스트를 만들어보자.
temperature = []
with open("weather_data.csv") as data:
day_weather = csv.reader(data)
for row in day_weather:
temperature.append(row[1])
print(temperature)
문제가 2가지 발생한다.
temp 문자는 삭제하고, int함수로 정수형으로 타입을 변경한다.
temp 문자를 삭제하는 방법으로 두 가지를 제안한다.
1) pop()
import csv
temperature = []
new_temperature=[]
with open("weather_data.csv") as data:
day_weather = csv.reader(data)
for row in day_weather:
temperature.append(row[1])
temperature.pop(0)
for temp in temperature:
temp = int(temp)
new_temperature.append(temp)
print(new_temperature)
2) if문
import csv
temperature = []
with open("weather_data.csv") as data:
day_weather = csv.reader(data)
for row in day_weather:
if row[1] != "temp":
temperature.append(int(row[1]))
print(temperature)
csv 내장라이브러리도 유용하지만,
다음 시간에는 더 복잡한 데이터도 간단히 처리할 수 있는
판다스로 데이터를 분석하고 처리해보겠다.
'파이썬 > 파이썬(python) 중급' 카테고리의 다른 글
[25-3 파이썬] 판다스로 데이터 처리하기(실습: 센트럴파크 다람쥐) (0) | 2022.09.06 |
---|---|
[25-2 파이썬] pandas 판다스로 데이터처리하기 (0) | 2022.09.06 |
[24-10 파이썬] 메일머지 구현하기 (0) | 2022.09.04 |
[24-9 파이썬] strip() (0) | 2022.09.04 |
[24-8 파이썬] replace(old, new) (0) | 2022.09.04 |