본문 바로가기
코딩 공부/python

파이썬 생활 프로그래밍: 파이썬으로 CSV 읽고 쓰기

by Camel_coding_food 2022. 2. 25.
반응형

책 디자인이 참 예뻐요.

 

 

요즘 파이썬 기본기가 부족한 것 같아 책을 구매해 공부하고있습니다.

 

이 책이 기본 연습하기에 참 좋습니다.

 

IDLE로 파이썬 실행을 하는데,

제가 연습했던 코드를 어떻게 깃허브에 올려야할지를 모르겠네요.

 

그것만 해결되면 좋겠습니다.

 

일단 오늘 하던 코드를 올려보겠습니다.

 

129p를 진행중이였습니다.

 

CSV파일 속 내용을 파이썬에서 사용 할 수 있게 하는 코드였습니다

 

일단 엑셀을 켜준 후 3열 2행짜리 표를 하나 만들어줍니다.

 

 

파일 이름 뒤에 확장자명을 csv로 지으면 되는데,

저는 그냥 이 방식을 선호합니다.

 

이제 파이썬에서 읽어봅시다.

 

저는 IDLE Shell 3.9.10을 이용합니다.

 

>>> import csv, os
>>> os.chdir(r'C:\Users\chohjender\Documents')
>>> f=open('a.csv','r',encoding='utf8')
>>> new = csv.reader(f)

#chdir로 파일이 있는 폴더로 이동합니다.
#읽기 모드로 이름이 'a'인 파일을 열어주고, 이를 캑체화합니다.
#객체 f를 csv.reader()로 읽어 new 객체에 저장합니다.

여기서 파일 이름과 파일 위치는 사용자에 따라 달라집니다.

 

 

>>> for i in new:
	print (i)

	
['국어', '수학', '영어']
['80', '99', '100']

저장한 객체 new를 출력해보니 이렇게 나오네요.

 

 

이제 파이썬에서 사용 가능하도록 리스트로 바꿔주겠습니다.

 

먼저 빈 객체를 하나 만듭니다.

a_list =[]

 

 

빈 객체 a_list에 객체 new를 한 행씩 넣어줍니다.

for i in new:
	print(i)
	a_list.append(i)

 

 

여기서 a_list에 저장된 값을 봅시다.

>>> a_list
[]

 

?????

 

비어있네요?

 

여기서부터 책에서 처음 알게된 내용입니다.

 

바로 

for i in new:
	print(i)
	a_list.append(i)

이 코드를 실행하여 커서가 맨 마지막으로 이동했기 때문입니다.

 

커서가 마지막에 가 있으면 파일을 읽을 수가 없겠죠?

 

 


그럼 커서를 처음으로 이동해주고 다시 객체를 읽어보겠습니다.

 

>>> f.seek(0)
0
>>> for i in new:
	print(i)
	a_list.append(i)

['국어', '수학', '영어']
['80', '99', '100']

 

해결되었네요.

 

책에서 처음 알게되는 내용이 있다면 또 올리겠습니다.

반응형

댓글