파이썬(Python) 데이터처리 - 판다스(pandas)
1. DataFrame 표 형식의 데이터 읽고 쓰기
- read_csv()
- to_csv()
- read_excel()
- to_excel()
1) CSV 파일 읽기
df = pd.read_csv(file_name[, encoding = 인코딩방식,
index_col = 열이름,
header = 숫자 또는 None,
sep = 구분자,
names = 열이름,
nrows = 읽어올 행수,
skiprows = (행1,행2,행3) ])
- encoding : 일어올 텍스트파일의 인코딩 방식을 지정합니다. 기본(default : 'utf-8')
- index_col : csv 파일의 데이터중 특정한 열을 DataFrame의 index로 지정합니다. 특정열을 지정할때 열이름으로 지정할 수도 있고, 0부터 시작하는 숫자로 지정할 수도 있습니다. (지정하지 않으면 index를 자동생성합니다.)
- header : csv 파일의 데이터 중 특정한 행을 DataFrame의 열이름(columns)로 지정합니다. names 옵션 없이 header=None 을 지정하면 columns는 0부터 시작하는 숫자로 자동 지정됩니다.
- sep : 데이터 필드 사이를 구분하는 구분자를 지정합니다. 기본(default : ','), 탭('\t')
- names : 데이터의 열이름을 리스트로 지정합니다. 열이름이 없어서 지정하는 경우에는 header=None을 지정합니다.
- nrows : 파일을 읽어올 행의 수를 입력합니다.
- skiprows : 첫행을 기준으로 데이터를 얼마나 건너뛰고 읽어올지를 지정합니다.
(예제)
%%writefile c:/temp/sale.csv
년도,1분기,2분기,3분기,4분기
2020,22,42,53,19
2021,25,46,65,12
2022,25,56,67,16
2023,21,53,72,18
2024,23,67,77,12
(결과)
Writing c:/temp/sale.csv
(예제1)
import pandas as pd
csv_file = "c:/temp/sale.csv"
df = pd.read_csv(csv_file, encoding="utf-8")
df
(결과)
년도 1분기 2분기 3분기 4분기
0 2020 22 42 53 19
1 2021 25 46 65 12
2 2022 25 56 67 16
3 2023 21 53 72 18
4 2024 23 67 77 12
(예제2)
import pandas as pd
csv_file = "c:/temp/sale.csv"
df = pd.read_csv(csv_file, encoding="utf-8", index_col="년도",skiprows=(1,3))
df
(결과)
1분기 2분기 3분기 4분기
년도
2021 25 46 65 12
2023 21 53 72 18
2024 23 67 77 12
2) CSV 파일 쓰기
df.to_csv(file_name[, encoding = 인코딩,
index = True 또는 False,
header = True 또는 False,
sep = 구분자])
- encoding : 생성한 csv 테스트 파일의 인코딩 방식을 지정합니다. 기본(default : 'utf-8')
- index : 데이터의 index를 csv 파일에 포함할지 여부를 지정합니다. 기본(default : True)
- header : 데이터의 열이름(columns)를 csv 파일에 포함할지 여부를 지정합니다. 기본(default : True)
- sep : 생성할 csv 테스트 파일의 구분자를 지정합니다. 기본(default : ',')
(예제)
import pandas as pd
csv_file = "c:/temp/sale.csv"
df = pd.read_csv(csv_file, encoding="utf-8")
df.to_csv("c:/temp/sale_back.csv", header=True)
back_file = "c:/temp/sale_back.csv"
df2 = pd.read_csv(back_file, encoding="utf-8")
df2
(결과)
Unnamed: 0 년도 1분기 2분기 3분기 4분기
0 0 2020 22 42 53 19
1 1 2021 25 46 65 12
2 2 2022 25 56 67 16
3 3 2023 21 53 72 18
4 4 2024 23 67 77 12
3) 엑셀(excel) 파일 읽고 쓰기
(Excel 읽기)
df = pd.read_excel(excel_file[, sheet_name = 시트이름,
index_col = 숫자 또는 열이름,
header = 숫자 또는 None,
names = 열이름])
(Excel 쓰기)
df.to_excel(excel_file[, index = True 또는 False,
header = True 또는 False,
sheet_name = 시트이름,
startrow = 숫자,
startcol = 숫자])
with pd.ExcelWriter(excel_file, engine = 'xlsxwriter') as excel_writer:
df.to_excel(excel_writer[, index = True(기본) 또는 False,
header = True(기본) 또는 False,
sheet_name = 시트이름(기본:'Sheet1') 또는 시트번호(기본:0),
startrow = 숫자(기본:0),
startcol = 숫자(기본:0)])
'개발(IT) > Python(파이썬)' 카테고리의 다른 글
파이썬(Python) 데이터처리 - 판다스(pandas) #1 (1) | 2024.12.07 |
---|---|
파이썬(Python) 데이터처리 - 넘파이(NumPy) (0) | 2024.12.01 |
파이썬(Python) 문자열 처리 (0) | 2024.11.30 |
파이썬(Python) 파일 읽고(read) 쓰기(write) (0) | 2024.11.23 |
파이썬(Python) 스케줄러 패키지(Schedule Package) (0) | 2024.11.16 |