Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- widgetsBindingObserver
- git설치
- Share
- zani
- uni_links
- velocity_x
- python
- Jupyter Notebook
- inheritedWidget
- extention
- dynamic color
- 소스제공
- 워드파일
- google search console
- ipykernel
- handlebars.js
- Flask
- annotation
- dart
- receive_sharing_intent
- vscdoe
- cache
- 생명주기
- flutter
- 개역개정
- 미색인
- Device
- Anaconda
- 성경필사
- GIT
Archives
- Today
- Total
자니노트
[Python/Excel] 엑셀 파일 읽기 본문
1. 개요
엑셀 파일을 읽어 DATA를 처리하기 위해 pandas, openpyxl(xlsx 지원) 라이브러리를 이용하여 구현하려고 한다.
- pandas : Pandas는 파이썬에서 사용하는 데이터분석 라이브러리로, 행과 열로 이루어진 데이터 객체를 만들어 다룰 수 있게 되며 보다 안정적으로 대용량의 데이터들을 처리하는데 매우 편리한 도구 입니다
- openpyxl : openpyxl은 엑셀 파일(.xlsx, .xlsm, .xltx, xltm 등)을 읽고 쓸 수 있는 기능을 제공하는 Python 라이브러리이다.
2. 설치
>pip install pandas
Collecting pandas
Downloading pandas-1.5.3-cp39-cp39-win_amd64.whl (10.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.9/10.9 MB 32.7 MB/s eta 0:00:00
Collecting pytz>=2020.1
Downloading pytz-2022.7.1-py2.py3-none-any.whl (499 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 499.4/499.4 kB 15.8 MB/s eta 0:00:00
Requirement already satisfied: python-dateutil>=2.8.1 in c:\users\bestech-bd\anaconda3\envs\uienv\lib\site-packages (from pandas) (2.8.2)
Collecting numpy>=1.20.3
Downloading numpy-1.24.2-cp39-cp39-win_amd64.whl (14.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.9/14.9 MB 38.4 MB/s eta 0:00:00
Requirement already satisfied: six>=1.5 in c:\users\bestech-bd\anaconda3\envs\uienv\lib\site-packages (from python-dateutil>=2.8.1->pandas) (1.16.0)
Installing collected packages: pytz, numpy, pandas
>pip install openpyxl
Collecting openpyxl
Downloading openpyxl-3.1.1-py2.py3-none-any.whl (249 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 249.8/249.8 kB 16.0 MB/s eta 0:00:00
Collecting et-xmlfile
Downloading et_xmlfile-1.1.0-py3-none-any.whl (4.7 kB)
Installing collected packages: et-xmlfile, openpyxl
Successfully installed et-xmlfile-1.1.0 openpyxl-3.1.1
3. 샘플 데이터
순서 | 음성파일명 | 음성텍스트파일명 | 저장자막파일명 | Vrew저장파일명 |
1 | A02___01_Exodus______ENGESVO2DA.mp3 | Chapter 2.1.txt | Chapter 2.1.srt | Chapter 2.1.vrew |
2 | A02___02_Exodus______ENGESVO2DA.mp3 | Chapter 2.2.txt | Chapter 2.2.srt | Chapter 2.2.vrew |
3 | A02___03_Exodus______ENGESVO2DA.mp3 | Chapter 2.3.txt | Chapter 2.3.srt | Chapter 2.3.vrew |
4 | A02___04_Exodus______ENGESVO2DA.mp3 | Chapter 2.4.txt | Chapter 2.4.srt | Chapter 2.4.vrew |
5 | A02___05_Exodus______ENGESVO2DA.mp3 | Chapter 2.5.txt | Chapter 2.5.srt | Chapter 2.5.vrew |
4. 엑셀 읽기
pandas 를 통해 Dataframe 구조로 가져오면 DATA를 다루는데 편리한 기능을 제공 한다.
import pandas as pd
# 엑셀파일을 열어서 DataFrame으로 읽어오기
df = pd.read_excel('D:\\성경\\변환DATA.xlsx')
print(df)
--------------------------------------------------
순서 음성파일명 음성텍스트파일명 저장자막파일명 Vrew저장파일명
0 1 A02___01_Exodus______ENGESVO2DA.mp3 Chapter 2.1.txt Chapter 2.1.srt Chapter 2.1.vrew
1 2 A02___02_Exodus______ENGESVO2DA.mp3 Chapter 2.2.txt Chapter 2.2.srt Chapter 2.2.vrew
2 3 A02___03_Exodus______ENGESVO2DA.mp3 Chapter 2.3.txt Chapter 2.3.srt Chapter 2.3.vrew
3 4 A02___04_Exodus______ENGESVO2DA.mp3 Chapter 2.4.txt Chapter 2.4.srt Chapter 2.4.vrew
4 5 A02___05_Exodus______ENGESVO2DA.mp3 Chapter 2.5.txt Chapter 2.5.srt Chapter 2.5.vrew
만약 Sheet가 여러개 존재하고 특정 sheet만을 읽어 오려면 아래와 같이 하면 된다.
# Sheet2 이름의 Sheet 가져오기
df = pd.read_excel('D:\\성경\\변환DATA.xlsx', sheet_name='Sheet2')
df = pd.read_excel('D:\\성경\\변환DATA.xlsx', sheet_name=1) # 시트 순서로도 가능
##################
# 그외 기능
##################
# 제한된 수의 행만 데이터 프레임에 로드하려는 경우 nrows 인수를 사용하여 행 수를 지정할 수 있습니다.
df = pd.read_excel('D:\\성경\\변환DATA.xlsx', nrows=2)
# 다음과 같이 skiprows 인수를 통해 스프레드시트의 시작 부분에서 특정 개수의 행을 건너뛰거나 특정 행 목록을 건너뛸 수 있습니다.
df = pd.read_excel('D:\\성경\\변환DATA.xlsx', skiprows=range(2))
# 위의 코드는 처음 5개 행을 건너뛰고 나머지 데이터를 반환합니다. 대신, 다음 코드는 언급된 인덱스가 있는 행을 제외한 모든 행을 반환합니다
df = pd.read_excel('D:\\성경\\변환DATA.xlsx', skiprows=[1, 4,7,10])
#또 다른 유용한 인수는 문자, 이름 또는 위치 번호가 있는 스프레드시트 열을 선택할 수 있는 usecols입니다. 어떻게 작동하는지 봅시다
df = pd.read_excel('D:\\성경\\변환DATA.xlsx', usecols='A:C,E')
# 위의 코드에서 usecols 인수에 할당된 문자열은 쉼표로 구분된 열 G + 를 포함하는 열 범위를 포함합니다. 또한 다음과 같이 열 이름 목록을 제공하고 usecols 인수에 할당할 수 있습니다
df = pd.read_excel('D:\\성경\\변환DATA.xlsx', usecols=['순서', '음성파일명', '음성텍스트파일명'])
# 숫서로도 가능
df = pd.read_excel('D:\\성경\\변환DATA.xlsx', usecols=[0, 1, 2, 4])
df(DataFrame)에서 Data를 읽는 방법은 아래 사이트 참조하기 바란다.
참조
http://bigdata.dongguk.ac.kr/lectures/Python/_book/pandas.html
https://doorbw.tistory.com/172
'파이썬' 카테고리의 다른 글
[자니노트] 파이썬을 이용한 성경필사 노트 만들기, 소스 및 워드파일 포함, 개역개정 (0) | 2023.07.07 |
---|---|
[Python] 업무 자동화를 위한 라이브러리 (0) | 2023.02.20 |
[Python] Jupyter notebook을 vscode에서 사용하기 (0) | 2023.02.20 |
Comments