728x90
반응형
CSV
예제1
# 예제1
import csv # csv 파일 사용시
with open('./resource/sample1.csv', 'r') as f:
reader = csv.reader(f)
#next(reader) # Header 스킵시 사용
# 확인
print(reader)
print(type(reader)) # csv.reader타입
print(dir(reader)) # iter존재시 반복문 사용 가능
for c in reader:
print(c)
예제2
# 예제2
with open('./resource/sample2.csv', 'r') as f:
reader = csv.reader(f, delimiter='|') # |로 구분이 되어있다.
#next(reader) # Header 스킵시 사용
# 확인
print(reader)
print(type(reader)) # csv.reader타입
print(dir(reader)) # iter존재시 반복문 사용 가능
for c in reader:
print(c)
예제3
# 예제3 (Dict 반환)
with open('./resource/sample1.csv', 'r') as f:
reader = csv.DictReader(f)
for c in reader:
for k, v in c.items():
print(k,v)
print('-'*30)
예제4
# 예제4
# csv생성
w = [[1,2,3],[4,5,6],[7,8,9],[10,11,12],[13,14,15],[16,17,18]]
with open('./resource/sample3.csv', 'w', newline='') as f:
wt = csv.writer(f)
for v in w:
wt.writerow(v)
with open('./resource/sample3.csv', 'r') as f:
reader = csv.reader(f)
for c in reader:
print(c)
예제5
# 예제5
with open('./resource/sample4.csv', 'w', newline='') as f:
wt = csv.writer(f)
wt.writerows(w) #반복문 없이 바로 사용가능
# 필터링 필요할 때는 writerow 사용
# 필터링 없이 바로 전부 사용시에는 writerows사용
with open('./resource/sample4.csv','r') as f:
reader = csv.reader(f)
for c in reader:
print(c)
## XSL, XLSX
- openpyxl, xlsxwriter, xlrd, xlwt, xlutils
- pandas를 주로 사용한다.(openpyxl, xlrd)
- pip install xlrd
- pip install openpyxl
- pip install pandas
xlsx
예제1
import pandas as pd
# sheetname= '시트명' 또는 숫자, header= 숫자, skiprow=숫자
xlsx = pd.read_excel('./resource/sample.xlsx')
# 상위 데이터 확인하기
print(xlsx.head()) # 상위 5개만 보여줌
print()
# 데이터 확인
print(xlsx.tail()) # 끝 5개 보여줌
print()
# 데이터 확인
print(xlsx.shape) # 행,열 확인 20행 7열
예제2
# 엑셀 or CSV 다시 쓰기
xlsx.to_excel('./resource/result.xlsx',encoding='utf-8' ,index=False)
xlsx.to_csv('./resource/result.csv', index=False, encoding='utf-8')
with open('./resource/result.csv', 'r',encoding='utf-8') as f:
reader = csv.reader(f)
for c in reader:
print(c)
xlsx2 = pd.read_excel('./resource/result.xlsx')
print('-'*100)
print(xlsx2)
728x90
반응형
최근댓글