본문 바로가기

Backend/Python

CSV파일 업로드 python코드

반응형
  • package설치
pip install pandas sqlalchemy psycopg2-binary​

 

cf1) Pycharm에서 console사용

좌측 하단에서 termianl로 사용 가능

cf2) 터미널 사용시 cannot open local이 발생하는 경우

에러 화면

cf2-sol)

이렇게 해결 가능

  • 코드 작성
# 패키지 사용
import pandas as pd
# 패키지의 요소 가져오기
from sqlalchemy import create_engine, Integer, String, TIMESTAMP, Numeric
from sqlalchemy.dialects.postgresql import VARCHAR

# CSV 파일 경로
# CSV 파일의 경로를 입력하세요.
csv_file = '파일의_절대경로/파일명.csv'
# 데이터베이스에 생성할 테이블 이름을 입력하세요.
table_name = 'table_name'
# PostgreSQL 데이터베이스 URL
#database_url = 'sqllite://accountId:accountPw@host:port/DBName'
#database_url = 'mysql://accountId:accountPw@host:port/DBName'
database_url = 'postgresql://accountId:accountPw@host:port/DBName'

# SQLAlchemy 엔진 생성
engine = create_engine(database_url)

# CSV 파일을 DataFrame으로 읽기
df = pd.read_csv(csv_file)

# 테이블 컬럼 정의
column_types = {
    'column1': VARCHAR(4),
    'column2': VARCHAR(20),
    'column3': VARCHAR(20),
    'column4': Numeric(20),
    'column5': TIMESTAMP
}

# DataFrame을 SQL 테이블로 삽입
df.to_sql(table_name, engine, index=False, if_exists='replace', dtype=column_types)

print(f"{csv_file} 데이터가 {table_name} 테이블에 삽입되었습니다.")

 

반응형

'Backend > Python' 카테고리의 다른 글

[Django] Django설치  (0) 2024.03.26
[Python] Django vs Flask 비교  (0) 2024.03.26
Python 기본정보(2)  (0) 2023.12.20
배열을 JSON으로 변경  (0) 2023.12.13
Python 기본 정보(1)  (0) 2023.12.08