기초 데이터 분석

최대환·2021년 3월 19일
0

파이썬

목록 보기
5/16
post-thumbnail

파일 읽기

  • open이라는 내장 함수를 이용해서 특정 파일을 열 수 있다.
  • open의 첫번째 파라미터에는 파일의 이름을, 두번째 파라미터에는 'read'의 약자인 'r'을 써주면 읽을 수 있다.(혹시 안읽히고 'UnicodeDecodeError'이런식으로 에러가 뜨면 encoding='utf'를 뒤에 붙여주면 해결이 된다.)
  • 파일을 열어줬으면 꼭 닫아주는 습관을 들여야 한다. 닫아주지 않으면 메모리가 낭비가 된다.

예시

📄 파일

칼로리 기록
1일차: 1500kcal
2일차: 1470kcal
3일차: 2120kcal
4일차: 1170kcal
5일차: 1445kcal
6일차: 2240kcal
7일차: 410kcal
8일차: 830kcal
9일차: 1210kcal
10일차: 1190kcal

💻 파이썬

file = open('diet.txt', 'r', encoding = 'utf-8')  # file이라는 변수에 'diet.txt' 파일을 읽기모드로 연다.
for line in file:   # 변수 file은 문자열은 아니지만 for 문으로 문자열 리스트처럼  다룰수 있다.
    print(line)     # 한줄 한줄씩 출력한다.(당연하지만 line말고 다른 local변수를 써도 된다) 

file.close()        # 파일을 열어줬으면 무조건 닫아준다.

👉 결과

칼로리 기록

1일차: 1500kcal

2일차: 1470kcal

3일차: 2120kcal

4일차: 1170kcal

5일차: 1445kcal

6일차: 2240kcal

7일차: 410kcal

8일차: 830kcal

9일차: 1210kcal

10일차: 1190kcal

strip메소드

  • strip메소드를 사용하면 문자열의 가장 앞쪽과 뒷쪽의 여백을 없애준 문자열을 리턴해준다.

예시

💻 파이썬

file = open('diet.txt', 'r', encoding = 'utf-8')  # file이라는 변수에 'diet.txt' 파일을 읽기모드로 연다.
for line in file:   # 변수 file은 문자열은 아니지만 for 문으로 문자열 리스트처럼  다룰수 있다.
    print(line.strip())     # 가장 앞,뒤의 여백을 없앤 줄을 출력한다.

file.close()        # 파일을 열어줬으면 무조건 닫아준다.

👉 결과

칼로리 기록
1일차: 1500kcal
2일차: 1470kcal
3일차: 2120kcal
4일차: 1170kcal
5일차: 1445kcal
6일차: 2240kcal
7일차: 410kcal
8일차: 830kcal
9일차: 1210kcal
10일차: 1190kcal

split메소드

  • split메소드는 파라미터의 값을 기준으로 문자열을 분리시켜 리스트로 만들어준다.
  • split메소드의 파라미터에 값을 안넣어주면 공백을 기준으로 리스트로 만들어준다.

예시

💻 파이썬

# split은 파라미터의 값을 기준으로 나눠진다.
numbers = "1, 2, 3, 4, 5"
numbers_list = numbers.split(", ")
print(numbers_list)

print()

# split의 파라미터에 아무것도 안 넣어줬을 때
numbers = "1 2       3\n 4              5     "
numbers_list = numbers.split()
print(numbers_list)

👉 결과

['1', '2', '3', '4', '5']

['1', '2', '3', '4', '5']

파일 쓰기

  • 파일을 읽을때와 마찬가지로 open함수를 써서 연다.
  • open함수의 첫번째 파라미터에 새로 쓸 파일 이름을, 두번째 파라미터에는 'write'의 약자 'w'을 써준다.
  • \n 을 이용하면 키보드에서 엔터를 치는 효과를 줄 수 있다.
  • 파일을 읽을 때와 마찬가지로 파일을 다 쓰면 닫아준다.

예시

💻 파이썬

file = open('new_file.txt', 'w', encoding = 'utf-8')  # file이라는 변수에 'new_file.txt' 파일을 쓰기모드로 연다.
file.write("hello!\n")     # 'hello!'를 써주고 다음줄로 넘어간다.
file.write("my name is Dae-Hwan.\n")    #역시 써주고 다음줄로 넘어간다.
file.write("nice to meet you!!")    # 마지막 줄은 굳이 \n을 써줄 필요 없다.

file.close()        # 파일을 열어줬으면 무조건 닫아준다.

📄 파일

hello!
my name is Dae-Hwan.
nice to meet you!!

사전(dictionary)

  • 순서가 없는 key와 value 쌍의 집합이다.
  • 사전에는 순서가 없기 때문에 key나 value에 정수형 뿐만아니라 소수형, 문자열도 넣어도 된다.
  • value를 리턴하기 위해서는 리스트 인덱스와 비슷하게 key를 대괄호안에 넣어주면된다.

예시

💻 파이썬

# 사전의 자료형은?
dictionary = {}
print(type(dictionary))

print()

# 사전에는 정수형, 소수형, 문자형 넣어보기
dictionary[1] = 5
dictionary[3.14] = "파이"
dictionary["사과"] = "apple"
print(dictionary)

print()

# value를 리턴하는 법
print(dictionary[1])
print(dictionary[3.14])
print(dictionary["사과"])

👉 결과

<class 'dict'>

{1: 5, 3.14: '파이', '사과': 'apple'}

5
파이
apple

사전 활용법

  • keys 메소드를 이용하여 사전의 모든 key를 받아오거나, in키워드와 같이 써서 그 값이 key에 있는지 확인할 수 있다.
  • values 메소드를 이용하여 사전의 모든 values를 받아오거나, in키워드와 같이 써서 그 값이 value에 있는지 확인할 수 있다.
  • list함수를 이용해서 사전의 key나 value를 형변환하여 리스트로 만들어 줄 수 있다.

예시

💻 파이썬

# 사전 채워주기
dictionary = {}

dictionary["mom"] = "엄마"
dictionary["dad"] = "아빠"
dictionary["cat"] = "고양이"
dictionary["apple"] = "사과"
dictionary["yellow"] = "노랑색"
print(dictionary)

print()

# keys 메소드 이용
print(dictionary.keys())
print("cat" in dictionary.keys())
print("dog" in dictionary.keys())

print()

# values 메소드 이용
print(dictionary.values())
print("고양이" in dictionary.values())
print("강아지" in dictionary.values())

print()

# 사전의 key와 value를 리스트로 형변환하기
dictionary_keys = list(dictionary.keys())
print(dictionary_keys)
print(type(dictionary_keys))

print()

dictionary_values = list(dictionary.values())
print(dictionary_values)
print(type(dictionary_values))

👉 결과

# 사전 채워주기
{'mom': '엄마', 'dad': '아빠', 'cat': '고양이', 'apple': '사과', 'yellow': '노랑색'}

# keys 메소드 이용
dict_keys(['mom', 'dad', 'cat', 'apple', 'yellow'])
True
False

# values 메소드 이용
dict_values(['엄마', '아빠', '고양이', '사과', '노랑색'])
True
False

# 사전의 key와 value를 리스트로 형변환하기
['mom', 'dad', 'cat', 'apple', 'yellow']
<class 'list'>

['엄마', '아빠', '고양이', '사과', '노랑색']
<class 'list'>
profile
나의 개발지식 output 공간

0개의 댓글