📍 저장
✅ DataFrame 객체 생성
: pd.DataFrame({data, index=[index_list]})
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번']) # index 설정
df.index.name='지원번호' # index_name 설정
df
✅ csv로 저장
: df.to_csv('파일명.csv', encoding='utf8', index=True/False)
index=True(default값)일 경우 index가 별도의 column으로 저장(가급적 index=False로 지정)
df.to_csv('score.csv') # txt로 잘보이지만 excel로는 한글 깨져보임
df.to_csv('score.csv', encoding='utf8') # excel도 깨지지 않게 됨
df.to_csv('score.csv', encoding='utf8', index=False) # index 제외하고 저장
✅ 텍스트(.txt)로 저장
df.to_csv('score.txt', sep='\t') # tap으로 구분된 txt파일로 저장
✅ 엑셀로 저장
df.to_excel('score.xlsx')
df.to_excel('score.xlsx', index=False)
df.to_excel('score.xlsx', index=True, sheet_name='샘플')
✅ 엑셀로 저장(여러개의 시트)
: writer=pd.ExcelWriter('파일명.xlsx')
df.to_excel(writer, index=True/False, sheet_name='sheet_name')
writer.close()
writer = pd.ExcelWriter('score_mult.xlsx')
df.to_excel(writer, index=False, sheet_name='샘플1')
df.to_excel(writer, index=False, sheet_name='샘플2')
df.to_excel(writer, index=False, sheet_name='샘플3')
writer.close()
📍 열기
✅ csv로 열기
df = pd.read_csv('score.csv')
df
df = pd.read_csv('score.csv', skiprows=1) # 1개 row를 스킵
df
df = pd.read_csv('score.csv', skiprows=[1, 3, 5]) # 1, 3, 5 row 제외
df
df = pd.read_csv('score.csv', nrows=4) # 지정된 갯수만큼의 row만 가져옴
df
df = pd.read_csv('score.csv', skiprows=2, nrows=4) # 처음 2 row 무시, 4 row만 들고옴
df
✅ csv로 열기(큰 데이터의 파일)
: pd.read_csv('파일명.csv', chunksize=int)
데이터의 크기가 매우 큰 경우 memory에 한번에 로드할 수 없음
chunksize를 지정하고 chunksize만큼 끊어 불러와서 처리
df = pd.read_csv('seoul_population.csv', nrows=10, chunksize=5)
for d in df:
display(d)
✅ 텍스트(.txt)로 열기
df = pd.read_csv('score.txt', sep='\t') # tap을 기준으로 열기
df
df = pd.read_csv('score.txt', sep='\t', index_col='지원번호') # index 설정
df
✅ 엑셀로 열기
: pd.read_excel('파일명.xlsx', index_col='column')
df = pd.read_excel('score.xlsx')
df
df = pd.read_excel('score.xlsx', index_col='지원번호') # index 설정
df
✅ 엑셀로 열기(여러개의 시트)
: pd.read_excel('파일명.xlsx', index_col='column', sheet_name='sheet_name'/None)
sheet_name=None으로 지정하여 모든 sheet 불러오기 가능(OrderDict로 불러옴)
excel = pd.read_excel('seoul_transportation.xlsx', sheet_name='철도', engine='openpyxl')
excel
excel = pd.read_excel('seoul_transportation.xlsx', sheet_name=None, engine='openpyxl')
excel
: df.keys()
시트명 조회
excel.keys()
dict_keys(['철도', '버스'])
excel['버스'].head()
참고 : 나도코딩 파이썬 코딩 무료 강의 (활용편5) - 데이터 분석 및 시각화, 이 영상 하나로 끝내세요