4. 파일 저장 및 열기
DataFrame 객체를 excel, csv, txt 파일로 저장 및 열기
In [2]:
import pandas as pd
data = {'이름' : ['채치수', '정대만', '송태섭', '서태웅', '강백호', '변덕규', '황태산', '윤대협'],
'학교' : ['북산고', '북산고', '북산고', '북산고', '북산고', '능남고', '능남고', '능남고'],
'키' : [197, 184, 168, 187, 188, 202, 188, 190],
'국어' : [90, 40, 80, 40, 15, 80, 55, 100],
'영어' : [85, 35, 75, 60, 20, 100, 65, 85],
'수학' : [100, 50, 70, 70, 10, 95, 45, 90],
'과학' : [95, 55, 80, 75, 35, 85, 40, 95],
'사회' : [85, 25, 75, 80, 10, 80, 35, 95],
'SW특기' : ['Python', 'Java', 'Javascript', '', '', 'C', 'PYTHON', 'C#']
}
df= pd.DataFrame(data, index=["1번","2번","3번","4번","5번","6번","7번","8번"])
df.index.name="지원번호"
df
Out[2]:
이름학교키국어영어수학과학사회SW특기지원번호1번2번3번4번5번6번7번8번
채치수 | 북산고 | 197 | 90 | 85 | 100 | 95 | 85 | Python |
정대만 | 북산고 | 184 | 40 | 35 | 50 | 55 | 25 | Java |
송태섭 | 북산고 | 168 | 80 | 75 | 70 | 80 | 75 | Javascript |
서태웅 | 북산고 | 187 | 40 | 60 | 70 | 75 | 80 | |
강백호 | 북산고 | 188 | 15 | 20 | 10 | 35 | 10 | |
변덕규 | 능남고 | 202 | 80 | 100 | 95 | 85 | 80 | C |
황태산 | 능남고 | 188 | 55 | 65 | 45 | 40 | 35 | PYTHON |
윤대협 | 능남고 | 190 | 100 | 85 | 90 | 95 | 95 | C# |
저장하기
csv 파일로 저장하기
In [5]:
df.to_csv("score.csv", encoding = "utf-8-sig")
In [ ]:
#인덱스 없애고 싶을 때
df.to_csv("score.csv", encoding = "utf-8-sig", index=False)
텍스트(.txt) 파일로 저장
In [14]:
df.to_csv("score.txt", sep="\t")
엑셀 파일로 저장
In [15]:
df.to_excel("score.xlsx")
열기
파일 열기
In [16]:
df = pd.read_csv("score.csv")
df
Out[16]:
지원번호이름학교키국어영어수학과학사회SW특기01234567
1번 | 채치수 | 북산고 | 197 | 90 | 85 | 100 | 95 | 85 | Python |
2번 | 정대만 | 북산고 | 184 | 40 | 35 | 50 | 55 | 25 | Java |
3번 | 송태섭 | 북산고 | 168 | 80 | 75 | 70 | 80 | 75 | Javascript |
4번 | 서태웅 | 북산고 | 187 | 40 | 60 | 70 | 75 | 80 | NaN |
5번 | 강백호 | 북산고 | 188 | 15 | 20 | 10 | 35 | 10 | NaN |
6번 | 변덕규 | 능남고 | 202 | 80 | 100 | 95 | 85 | 80 | C |
7번 | 황태산 | 능남고 | 188 | 55 | 65 | 45 | 40 | 35 | PYTHON |
8번 | 윤대협 | 능남고 | 190 | 100 | 85 | 90 | 95 | 95 | C# |
In [20]:
#첫번째 row 는 필요없어!
df= pd.read_csv("score.csv", skiprows=1)
df
Out[20]:
1번채치수북산고19790851009585.1Python0123456
2번 | 정대만 | 북산고 | 184 | 40 | 35 | 50 | 55 | 25 | Java |
3번 | 송태섭 | 북산고 | 168 | 80 | 75 | 70 | 80 | 75 | Javascript |
4번 | 서태웅 | 북산고 | 187 | 40 | 60 | 70 | 75 | 80 | NaN |
5번 | 강백호 | 북산고 | 188 | 15 | 20 | 10 | 35 | 10 | NaN |
6번 | 변덕규 | 능남고 | 202 | 80 | 100 | 95 | 85 | 80 | C |
7번 | 황태산 | 능남고 | 188 | 55 | 65 | 45 | 40 | 35 | PYTHON |
8번 | 윤대협 | 능남고 | 190 | 100 | 85 | 90 | 95 | 95 | C# |
In [23]:
# rows 1,3,5 는 제외
df= pd.read_csv("score.csv", skiprows = [1,3,5])
df
Out[23]:
지원번호이름학교키국어영어수학과학사회SW특기01234
2번 | 정대만 | 북산고 | 184 | 40 | 35 | 50 | 55 | 25 | Java |
4번 | 서태웅 | 북산고 | 187 | 40 | 60 | 70 | 75 | 80 | NaN |
6번 | 변덕규 | 능남고 | 202 | 80 | 100 | 95 | 85 | 80 | C |
7번 | 황태산 | 능남고 | 188 | 55 | 65 | 45 | 40 | 35 | PYTHON |
8번 | 윤대협 | 능남고 | 190 | 100 | 85 | 90 | 95 | 95 | C# |
In [24]:
# 지정된 갯수만큼 row 가져옴
df= pd.read_csv("score.csv", nrows=4)
df
Out[24]:
지원번호이름학교키국어영어수학과학사회SW특기0123
1번 | 채치수 | 북산고 | 197 | 90 | 85 | 100 | 95 | 85 | Python |
2번 | 정대만 | 북산고 | 184 | 40 | 35 | 50 | 55 | 25 | Java |
3번 | 송태섭 | 북산고 | 168 | 80 | 75 | 70 | 80 | 75 | Javascript |
4번 | 서태웅 | 북산고 | 187 | 40 | 60 | 70 | 75 | 80 | NaN |
In [26]:
# 처음 2 row 무시, 이후 4row 가져오기
df= pd.read_csv("score.csv", skiprows=2, nrows=4)
df
Out[26]:
2번정대만북산고1844035505525Java0123
3번 | 송태섭 | 북산고 | 168 | 80 | 75 | 70 | 80 | 75 | Javascript |
4번 | 서태웅 | 북산고 | 187 | 40 | 60 | 70 | 75 | 80 | NaN |
5번 | 강백호 | 북산고 | 188 | 15 | 20 | 10 | 35 | 10 | NaN |
6번 | 변덕규 | 능남고 | 202 | 80 | 100 | 95 | 85 | 80 | C |
텍스트 파일 열기
In [28]:
df = pd.read_csv("score.txt", sep="\t")
df
Out[28]:
지원번호이름학교키국어영어수학과학사회SW특기01234567
1번 | 채치수 | 북산고 | 197 | 90 | 85 | 100 | 95 | 85 | Python |
2번 | 정대만 | 북산고 | 184 | 40 | 35 | 50 | 55 | 25 | Java |
3번 | 송태섭 | 북산고 | 168 | 80 | 75 | 70 | 80 | 75 | Javascript |
4번 | 서태웅 | 북산고 | 187 | 40 | 60 | 70 | 75 | 80 | NaN |
5번 | 강백호 | 북산고 | 188 | 15 | 20 | 10 | 35 | 10 | NaN |
6번 | 변덕규 | 능남고 | 202 | 80 | 100 | 95 | 85 | 80 | C |
7번 | 황태산 | 능남고 | 188 | 55 | 65 | 45 | 40 | 35 | PYTHON |
8번 | 윤대협 | 능남고 | 190 | 100 | 85 | 90 | 95 | 95 | C# |
In [31]:
df = pd.read_csv("score.txt", sep="\t", index_col="지원번호")
df
Out[31]:
이름학교키국어영어수학과학사회SW특기지원번호1번2번3번4번5번6번7번8번
채치수 | 북산고 | 197 | 90 | 85 | 100 | 95 | 85 | Python |
정대만 | 북산고 | 184 | 40 | 35 | 50 | 55 | 25 | Java |
송태섭 | 북산고 | 168 | 80 | 75 | 70 | 80 | 75 | Javascript |
서태웅 | 북산고 | 187 | 40 | 60 | 70 | 75 | 80 | NaN |
강백호 | 북산고 | 188 | 15 | 20 | 10 | 35 | 10 | NaN |
변덕규 | 능남고 | 202 | 80 | 100 | 95 | 85 | 80 | C |
황태산 | 능남고 | 188 | 55 | 65 | 45 | 40 | 35 | PYTHON |
윤대협 | 능남고 | 190 | 100 | 85 | 90 | 95 | 95 | C# |
In [35]:
df = pd.read_csv("score.txt", sep="\t")
df.set_index("지원번호", inplace=True)
df
Out[35]:
이름학교키국어영어수학과학사회SW특기지원번호1번2번3번4번5번6번7번8번
채치수 | 북산고 | 197 | 90 | 85 | 100 | 95 | 85 | Python |
정대만 | 북산고 | 184 | 40 | 35 | 50 | 55 | 25 | Java |
송태섭 | 북산고 | 168 | 80 | 75 | 70 | 80 | 75 | Javascript |
서태웅 | 북산고 | 187 | 40 | 60 | 70 | 75 | 80 | NaN |
강백호 | 북산고 | 188 | 15 | 20 | 10 | 35 | 10 | NaN |
변덕규 | 능남고 | 202 | 80 | 100 | 95 | 85 | 80 | C |
황태산 | 능남고 | 188 | 55 | 65 | 45 | 40 | 35 | PYTHON |
윤대협 | 능남고 | 190 | 100 | 85 | 90 | 95 | 95 | C# |
엑셀파일 열기
In [37]:
df = pd.read_excel("score.xlsx")
df
Out[37]:
지원번호이름학교키국어영어수학과학사회SW특기01234567
1번 | 채치수 | 북산고 | 197 | 90 | 85 | 100 | 95 | 85 | Python |
2번 | 정대만 | 북산고 | 184 | 40 | 35 | 50 | 55 | 25 | Java |
3번 | 송태섭 | 북산고 | 168 | 80 | 75 | 70 | 80 | 75 | Javascript |
4번 | 서태웅 | 북산고 | 187 | 40 | 60 | 70 | 75 | 80 | NaN |
5번 | 강백호 | 북산고 | 188 | 15 | 20 | 10 | 35 | 10 | NaN |
6번 | 변덕규 | 능남고 | 202 | 80 | 100 | 95 | 85 | 80 | C |
7번 | 황태산 | 능남고 | 188 | 55 | 65 | 45 | 40 | 35 | PYTHON |
8번 | 윤대협 | 능남고 | 190 | 100 | 85 | 90 | 95 | 95 | C# |
In [38]:
df = pd.read_excel("score.xlsx", index_col="지원번호")
df
Out[38]:
이름학교키국어영어수학과학사회SW특기지원번호1번2번3번4번5번6번7번8번
채치수 | 북산고 | 197 | 90 | 85 | 100 | 95 | 85 | Python |
정대만 | 북산고 | 184 | 40 | 35 | 50 | 55 | 25 | Java |
송태섭 | 북산고 | 168 | 80 | 75 | 70 | 80 | 75 | Javascript |
서태웅 | 북산고 | 187 | 40 | 60 | 70 | 75 | 80 | NaN |
강백호 | 북산고 | 188 | 15 | 20 | 10 | 35 | 10 | NaN |
변덕규 | 능남고 | 202 | 80 | 100 | 95 | 85 | 80 | C |
황태산 | 능남고 | 188 | 55 | 65 | 45 | 40 | 35 | PYTHON |
윤대협 | 능남고 | 190 | 100 | 85 | 90 | 95 | 95 | C# |
'Programming > python' 카테고리의 다른 글
[matplotlib] 텍스트 넣기 (0) | 2023.03.27 |
---|---|
[Python] Pandas 데이터 확인 개념정리 (0) | 2023.03.23 |
[Python] Pandas Index 개념정리 (0) | 2023.03.23 |
[Python] Pandas DataFrame 개념정리 (0) | 2023.03.23 |
[python] Pandas Series 기본 개념 정리 (0) | 2023.03.23 |