본문 바로가기




Future Items

파이썬을 이용한 엑셀 데이터 파싱 및 MySQL에 Insert하기

by 독서하는 AI 2023. 10. 11.
 
반응형

이번 글에서는 파이썬을 사용하여 엑셀 데이터를 파싱하고, MySQL 데이터베이스에 데이터를 Insert하는 방법에 대해 알아보겠습니다. 엑셀 데이터를 파이썬에서 다루는 방법과 MySQL 데이터베이스에 연결하는 방법부터, 파싱한 데이터를 MySQL에 Insert하는 방법까지 살펴보겠습니다.

1. 엑셀 데이터 파싱하기

우선, 파이썬에서 엑셀 데이터를 파싱하기 위해 **pandas** 라이브러리를 사용합니다. pandas는 파이썬 데이터 분석과 조작에 유용한 라이브러리로, 엑셀 데이터의 다양한 조작을 지원합니다. pandas를 설치하려면 아래 명령을 실행하세요.

pip install pandas

먼저, 엑셀 파일을 읽어와서 데이터를 파싱해보겠습니다. 예를 들어, 'data.xlsx'라는 엑셀 파일이 있고, 해당 파일에는 'Sheet1'에 데이터가 있다고 가정합니다.

import pandas as pd

# 엑셀 파일 읽기
data = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# 데이터 확인
print(data.head())

위 코드를 실행하면, 'data.xlsx' 파일의 'Sheet1' 시트의 데이터가 출력됩니다. 데이터를 읽어와서 원하는 형식으로 가공할 수 있습니다.

2. MySQL 데이터베이스에 연결하기

MySQL 데이터베이스에 연결하기 위해 **pymysql** 라이브러리를 사용합니다. pymysql은 MySQL 데이터베이스에 연결하고, 데이터를 쿼리하는 데 사용되는 라이브러리입니다. pymysql을 설치하려면 아래 명령을 실행하세요.

pip install pymysql

MySQL 데이터베이스에 연결하기 위해서는 데이터베이스 서버의 주소, 포트, 사용자 이름, 비밀번호, 데이터베이스 이름을 알아야 합니다. 이 정보를 기반으로 아래와 같이 연결을 설정합니다.

import pymysql

# MySQL 연결 설정
conn = pymysql.connect(
    host='localhost',
    port=3306,
    user='username',
    password='password',
    db='database_name'
)

# 커서 생성
cursor = conn.cursor()

위 코드에서 'localhost', 3306, 'username', 'password', 'database_name'는 각각 MySQL 데이터베이스 서버 주소, 포트, 사용자 이름, 비밀번호, 데이터베이스 이름에 맞게 변경해주어야 합니다.

3. 파싱한 데이터를 MySQL에 Insert하기

엑셀 데이터를 파싱하고 MySQL 데이터베이스에 Insert하기 위해 다음과 같은 단계를 거칩니다.

  1. 엑셀 데이터 파싱
  2. MySQL 연결 설정
  3. 파싱한 데이터를 MySQL에 Insert
  4. 커밋 및 연결 종료

다음은 위 단계를 구현한 코드입니다.

import pandas as pd
import pymysql

# 엑셀 데이터 파싱
data = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# MySQL 연결 설정
conn = pymysql.connect(
    host='localhost',
    port=3306,
    user='username',
    password='password',
    db='database_name'
)

# 커서 생성
cursor = conn.cursor()

# 데이터를 MySQL에 Insert
for index, row in data.iterrows():
    name = row['Name']
    age = row['Age']
    email = row['Email']
    
    query = f"INSERT INTO table_name (name, age, email) VALUES ('{name}', {age}, '{email}')"
    cursor.execute(query)

# 커밋
conn.commit()

# 연결 종료
cursor.close()
conn.close()

위 코드에서 'data.xlsx', 'Sheet1', 'localhost', 3306, 'username', 'password', 'database_name', 'table_name'은 각각 엑셀 파일 이름, 시트 이름, MySQL 데이터베이스 서버 주소, 포트, 사용자 이름, 비밀번호, 데이터베이스 이름, 테이블 이름에 맞게 변경해주어야 합니다.

위 코드에서는 엑셀 파일의 각 행을 순회하며 데이터를 읽어와서 MySQL 데이터베이스에 Insert합니다. 적절한 쿼리를 작성하여 커서를 사용하여 실행하면, 파싱한 데이터가 MySQL 데이터베이스에 Insert됩니다.

4. 결론

이번 글에서는 파이썬을 이용하여 엑셀 데이터를 파싱하고, MySQL 데이터베이스에 데이터를 Insert하는 방법에 대해 알아보았습니다. pandas를 사용하여 엑셀 데이터를 파싱하고, pymysql을 사용하여 MySQL 데이터베이스에 연결하고, 쿼리를 실행하여 데이터를 Insert하였습니다. 이를 통해 엑셀 파일의 데이터를 MySQL 데이터베이스에 쉽고 간편하게 저장할 수 있습니다.

이러한 방법을 사용하여 엑셀 데이터를 파싱하고, MySQL 데이터베이스에 Insert하는 방법을 익히시면, 데이터 분석 및 관리에 매우 유용하게 활용할 수 있습니다. 파이썬, 엑셀, MySQL의 조합은 데이터 처리와 분석에 있어서 강력한 도구입니다. 다양한 예제와 실습을 통해 익숙해지면, 보다 효과적인 데이터 관리를 위해 활용할 수 있을 것입니다.

반응형