Python에서 MySQL에 CSV 데이터 로드
Python을 사용하여 MySQL 테이블에 CSV 데이터를 로드하려고 하면 사용자는 다음과 같은 시나리오에 직면할 수 있습니다. 코드는 오류 없이 실행되지만 테이블에 데이터를 삽입하지 못합니다. 이 문제를 해결하려면 이 프로세스에서 mydb.commit()의 역할을 이해하는 것이 중요합니다.
시작하려면 mydb.connect() 함수가 데이터베이스에 대한 연결을 설정합니다. 커서가 생성되면 INSERT INTO 문을 사용하여 CSV 데이터를 읽고 테이블에 삽입합니다. 그러나 데이터베이스에 변경 사항을 저장하려면 삽입 후 mydb.commit()을 수행하는 것이 필수적입니다. 이 단계가 없으면 데이터는 커밋되지 않은 상태로 유지되며 테이블에 표시되지 않습니다.
다음은 mydb.commit()이 추가된 수정된 코드입니다.
import csv import MySQLdb mydb = MySQLdb.connect(host='localhost', user='root', passwd='', db='mydb') cursor = mydb.cursor() csv_data = csv.reader(file('students.csv')) for row in csv_data: cursor.execute('INSERT INTO testcsv(names, \ classes, mark )' \ 'VALUES("%s", "%s", "%s")', row) mydb.commit() # Save changes to database #close the connection to the database. cursor.close() print "Done"
포함하여 mydb.commit()을 사용하면 데이터가 MySQL 테이블에 성공적으로 삽입되었는지 확인할 수 있습니다.
위 내용은 내 Python 코드가 MySQL에 CSV 데이터를 삽입하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!