excel데이터 다루기

2018. 4. 8. 15:23Python-이론/python-인공지능2

excel 데이터 다루기



엑셀데이터를 다루기 전에 pip3 install openpyxl다운로드 해주세요. 그리고 예제 엑셀 데이터는 엑셀데이터 다운 해주세요.



엑셀 파일 읽기

import openpyxl
filename = "엑셀파일 이름 "

data = []

book = openpyxl.load_workbook(filename)
shell = book.worksheets[0]
#세로줄 첫줄과 10번째줄 추출
for row in shell.rows:
    data.append([row[0].value, row[9].value])
#계, 년도, 기타 정보 제거
for i in range(0,4)
    del data[0]

del data[len(data)-1]
del data[len(data)-1]
del data[len(data)-1]
print(data)
# 숫자에 ,가 있으면 데이터 int형으로 변환x
# ,제거
for a in data:
    a[1]=a[1].replace(",","")

data = sorted(data,key = lambda x: int(x[1])) #수가 적은 수 로 정렬

for i,a in enumerate(data):
    if (i>=5): break
    print(i+1,a[0],a[1])




excel데이터 쓰기

import openpyxl
filename = "엑셀파일 이름"
book = openpyxl.load_workbook(filename)
worksheet = book.active
for i in range(0,9):
#chr(66+i) 반복문이 증가하며 B부터 J까지
    worksheet[str(chr(66+i)+"4")] =  worksheet[str(chr(66+i)+"4")].value.replace(",","")
    worksheet[str(chr(66+i)+"5")] =  worksheet[str(chr(66+i)+"5")].value.replace(",","") #,제거 
    total = int(worksheet[str(chr(66+i)+"4")].value)
    seoul = int(worksheet[str(chr(66+i)+"5")].value)
    out =total - seoul
    print(out)
    worksheet[str(chr(66+i)+"24")] = out
    cell = worksheet[str(chr(66+i)+"24")]
    cell.font = openpyxl.styles.Font(size=14,color = "FF0000")
savename = "example.xlsx"
book.save(savename)




pandas로 읽어보기

import pandas as pd
book = pd.read_excel(filename,sheet_name = "시트이름",header=2)
book = book.sort_values(by="2016")


print(book)


'Python-이론 > python-인공지능2' 카테고리의 다른 글

machine Learning 첫걸음  (0) 2018.04.17
machineLearning 이란?  (0) 2018.04.16
csv 데이터 다루기  (0) 2018.04.07
yaml 데이터 형식  (0) 2018.04.03
yaml데이터 분석하기  (0) 2018.04.03