>백엔드 개발 >파이썬 튜토리얼 >Python을 사용하여 CSV 파일을 SQLite 데이터베이스 테이블로 가져오는 방법은 무엇입니까?

Python을 사용하여 CSV 파일을 SQLite 데이터베이스 테이블로 가져오는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-16 12:04:021024검색

How to Import a CSV File into a SQLite Database Table Using Python?

Python을 사용하여 SQLite로 CSV 데이터 대량 가져오기

Python의 sqlite3 모듈을 사용하면 CSV 파일을 SQLite 데이터베이스 테이블로 가져오는 간단한 프로세스가 될 수 있습니다. . 그러나 ".import" 명령을 직접 사용하면 최근 쿼리에서 제안된 것처럼 원하는 결과를 얻지 못할 수 있습니다.

CSV 파일을 효과적으로 가져오려면 다음 접근 방식을 고려하세요.

예:

현재 작업 디렉터리에 "data.csv"라는 이름의 CSV 파일이 있고 다음을 사용하여 데이터베이스 연결이 설정되었다고 가정합니다. sqlite3.connect()에서 다음 단계를 사용하여 가져오기를 수행할 수 있습니다.

import csv, sqlite3

# Connect to the database
con = sqlite3.connect(":memory:") # or 'sqlite:///your_filename.db'

# Create a cursor
cur = con.cursor()

# Create the target table in advance
cur.execute("CREATE TABLE t (col1, col2);") # Adjust column names as needed

# Open the CSV file for reading
with open('data.csv','r') as fin:

    # Create a DictReader to read the header and rows as dictionaries
    # In case of a headerless file, skip the header argument
    dr = csv.DictReader(fin, delimiter=',')

    # Convert the rows into a list of tuples
    to_db = [(i['col1'], i['col2']) for i in dr]

# Use executemany to insert the data efficiently
cur.executemany("INSERT INTO t (col1, col2) VALUES (?, ?);", to_db)

# Commit the changes
con.commit()

# Close the connection
con.close()

이 스크립트는 CSV 파일에 "col1"과 "col2"라는 두 개의 열이 있다고 가정합니다. 파일의 열 이름이 다른 경우 코드에서 적절하게 조정하십시오. 성공적으로 실행되면 지정된 데이터베이스 내에 새로 생성된 "t" 테이블로 CSV 데이터를 가져옵니다.

위 내용은 Python을 사용하여 CSV 파일을 SQLite 데이터베이스 테이블로 가져오는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.