티스토리 뷰
0. 지난화에서 엑셀(Excel) 데이터를 판다스(pandas)를 통해서 읽어보았다~
그럼 쓰는건?
지난화에서는 pandas를 통해 read_excel 함수를 통해서, 엑셀에 있는 데이터를 읽어 보았습니다. 그렇다면, 쓰는 것도 가능하지 않을까요? 이번 포스트에서 엑셀에 쓰는 방법에 대해서도 알아보겠습니다. 이번에도 pandas를 통해 쓰는 방법에 대해서 알아보도록 하죠~
https://dataleader.tistory.com/20
1. 실습 - 성적을 하나더 입력해 보자~!
지난화에 우리는 엑셀에 있는 성적데이터를 읽어보았습니다. 이번에는 데이터를 읽은 후에 해당데이터에서 한 컬럼을 추가해서 저장해 보도록 하겠습니다.
자 그럼 지난번 소스 코드를 한번 다시 살펴보도록 하죠~
[소스코드]
import pandas
dataframeXlsx = pandas.read_excel("C:/Users/ryuje/Desktop/test.xlsx", sheet_name="Sheet1")
print(dataframeXlsx)
이제 dataframeXlsx에 데이터가 추가되어 있음을 확인할 수 있습니다.
하나의 컬럼을 추가해 주어야 하는데, dataframeXlsx는 세 가지의 열(row, 이름, 점수, 과목)를 가지고 있습니다. 그렇다면, 각 열에 맞는 데이터를 생성해서 하나의 컬럼(column)을 추가해 주어야 합니다. 컬럼을 어떻게 해야 생성할 수 있을까요? 열을 추가할 경우에는 append 함수를 이용하면 간단하게 해결할 수 있습니다. 그럼 수정된 코드를 확인해 볼까요?
[소스코드]
import pandas
dataframeXlsx = pandas.read_excel("C:/Users/ryuje/Desktop/test.xlsx", sheet_name="Sheet1")
dataframeXlsx = dataframeXlsx.append({'이름':'선조', '점수':'40','과목':'불어'}, ignore_index=True) #열 추가
print(dataframeXlsx)
선조가 추가된 것을 확인해 볼 수 있습니다.
여기서 잠깐!!
그렇다면 복수의 데이터를 연속해서 입력을 해야할 경우은 어떻게 해야할 까요? 일일이 이렇게 한줄 코드를 작성해서 추가하는 방법이 가장 효과적인 방법일 까요? 데이터 프레임에 자료를 연속해 입력할 경우, 데이터프레임을 하나 더 생성해 결합하거나 아래와 같이 추가하는 방법이 있습니다. 물론 아래의 코드가 완벽하지는 않지만, 참고가 될 수 있도록 코드를 추가하니 관련해 활용하시면 좋을 것 같습니다.(아래 코드는 Dictionary 형식을 통해 데이터를 데이터프레임(dataframe) 안에 입력하는 방법입니다.)
[소스코드]
import pandas
dataframeXlsx = pandas.read_excel("C:/Users/ryuje/Desktop/test.xlsx", sheet_name="Sheet1")
dataframeXlsx = dataframeXlsx.append({'이름':'선조', '점수':'40','과목':'불어'}, ignore_index=True) #열 추가
add_dic = {'이름':'하루끼', '점수':'70','과목':'국어'}
for i in range(0, len(dataframeXlsx.index)) :
dataframeXlsx = dataframeXlsx.append(add_dic, ignore_index=True)
print(dataframeXlsx)
2. 데이터프레임의 엑셀출력
자. 이제 데이터 프레임을 수정해 보는 것을 공부해보았으니, 마지막으로 데이터프레임을 엑셀에 출력해 보도록 하겠습니다. 엑셀에 출력하는 코드는 pandas를 활용하면 매우 쉽습니다. to_excel로 손쉽게 데이터를 엑셀로 옮길 수 있습니다.
[소스코드]
import pandas
dataframeXlsx = pandas.read_excel('C:/Users/ryuje/Desktop/test.xlsx', sheet_name='Sheet1')
dataframeXlsx = dataframeXlsx.append({'이름':'선조', '점수':40,'과목':'불어'}, ignore_index=True) #열 추가
dataframeXlsx.to_excel('C:/Users/ryuje/Desktop/test.xlsx', sheet_name="Sheet1")
print('출력완료')
여기서 주의!!
위와 같이 코드를 작성할 경우 덮어쓰기로 작성이 됩니다. 이를 방지하기 위해서는 아래와 같이 수정해 원본과 수정본을 분리해 출력을 해 주어야 합니다. 이를 위해서는 pandas.ExcelWriter를 이용합니다.
[소스코드]
import pandas
dataframeXlsx = pandas.read_excel('C:/Users/ryuje/Desktop/test.xlsx', sheet_name='Sheet1')
dataframeXlsxAppend = dataframeXlsx.append({'이름':'선조', '점수':40,'과목':'불어'}, ignore_index=True) #열 추가
writer = pandas.ExcelWriter('C:/Users/ryuje/Desktop/test.xlsx', engine = 'xlsxwriter'
#xlsxwriter 라이브러리 설치 필요, 제 경우 openpyxl는 동작이 부자연스러웠습니다.
dataframeXlsx.to_excel(writer, sheet_name="Sheet1")
dataframeXlsxAppend.to_excel(writer, sheet_name="Sheet2")
writer.save()
print('출력완료')
출력결과는 아래와 같이 나타납니다.
3. 맺음말
이번 포스트에서는 pandas를 이용해서, 엑셀자료를 출력해 보았습니다. pandas가 참 열일하죠? 요즘 python에서 엑셀을 처리하는 다양한 도서들이 나타나고 있는데 이렇게 처리를 하면 정말 다양한 일을 할 수 있다는 생각이 드네요. 저도 더 많은 포스트를 통해 다양한 활용 방안들에 대해서 소개해 보도록 하겠습니다. 여러분들도 계속해서 많은 관심부탁드립니다.
좋아요와 구독은 많은 힘이됩니다. !!
'파이썬 기초' 카테고리의 다른 글
[파이썬(Python) 이야기 5화] 폴더 내 엑셀(Excel) 파일 하나로 합치기 (0) | 2022.03.21 |
---|---|
[파이썬(python) 이야기 4화] 폴더 내 파일 검색하기, 폴더 내 파일 정보 데이터 프레임으로 저장하기 (0) | 2021.05.25 |
[파이썬(Python) 이야기 2화] 파이썬에서 데이터베이스 (포스트그리스) PostgresSQL에 접속하기 (1) | 2021.05.17 |
[파이썬(Python) 이야기 1화] 파이썬에서 엑셀(Excel) 데이터 불러오기 (0) | 2021.05.06 |
[파이썬(Python) 이야기 0화] Visual Studio Code(VSCode) 비주얼 스튜디오 코드로 파이썬 사용하기(개발하기) (0) | 2020.10.12 |
- Total
- Today
- Yesterday
- 엑셀
- 판다스
- 버전다름
- python 공부하기
- fetchall
- excutemany
- 검색엔진
- elastic
- pip 의존성
- pythostudy
- 판단스
- Excel
- 엑셀생성
- 엘라스틱
- pycharm
- pandas
- 프로세스통신
- 파이썬
- SQLite
- Reforme Code
- 폴더
- 파이참
- 포스트그리
- 패키지설치하기
- 파워쿼리
- glob.glob
- PYTHON
- excel create
- fetchmany
- PowerQuery
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |