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 중국어 웹사이트의 기타 관련 기사를 참조하세요!