반응형
1. 파일 읽어오기
(1) 내장 모듈
fileMatrix = []
with open("21.csv",'r') as file:
for lineContent in file:
fileMatrix.append(lineContent.strip('\n').split(","))
for lineContent in file:
- file에 있는 한줄씩 lineContent에 저장 (문자열형식)
lineContent.strip('\n').split(",")
- lineContent에 \n은 없앰
- split(",") : 리스트를 만들어서 ","를 기준으로 나누어서 한 index씩 넣음
fileMatrix = []
with open('data.csv','r',encoding='utf-8') as fileOpen:
lineContent=fileOpen.readline()
while lineContent!='' :
fileMatrix.append(lineContent.strip('\n').split(","))
lineContent=fileOpen.readline()
- 해당파일의 한줄을 읽음 (열구분은 ',' 로 함)
- 문자열 형식으로 반환
(1) pandas 모듈
import pandas as pd
# pandas dataframe type으로 저장된다.
# 하위폴더에 데이터를 읽고싶다면 "(상위폴더)\\(하위폴더)\\(최종파일)" 형식으로 경로저장
csv=pd.read_csv("NYPD_Complaint_Data_Current_YTD.csv")
print(csv)
print(csv["KY_CD"]) # dictinary형으로 읽을 수 있다
판다스 모듈을 이용하면 위와같이 읽을 수 있다.
2. 파일 쓰기
(1) 내장모듈
with open('to_seoul.csv','w',encoding='utf-8',newline='') as fileWrite:
- 쓰기형식일때 'w'
- 'cp949' 에러 발생시 encoding='utf-8'
- newline='' 을 하면 빈 줄 없이 한줄씩 써진다.
myWriter=csv.writer(fileWrite)
- 파일을 열었던 변수인 fileWrite를 넣어서 csv모듈을 가진 myWirter변수를 생성
myWriter.writerow([리스트형식])
- writerow 이후에는 하나의 리스트가 빈칸을 구분기준으로 하여 한줄씩 들어간다
myWriter.writerows([2차원 리스트형식])
- writerows 이후에는 2차원 리스트형식이 나오고 한줄에 한행씩 입력이 된다.
(2) 판다스 모듈
#df는 dataframe, index=False옵션을 이용해서 index 컬럼의 쓰기를 하지 않을 수도 있다.
df.to_csv(file_name+"W.csv",mode='w')
반응형