>source

import pyodbc
import csv
conn = pyodbc.connect('Driver=ODBC Driver 17 for SQL Server;'
                      'Server=SIS10647\MSSQLSERVER14;'
                      'Database=LeelaVenkatesh;'
                      'Trusted_Connection=yes;')
cursor = conn.cursor()
cursor.execute('''
               CREATE TABLE employee
               (
               empid int,
               Name nvarchar(50)
               )
               ''')
with open('C:\PYTHON\Textfiles/1.txt') as f:
    reader = csv.reader(f)
    for row in reader:
        cursor.execute("""INSERT INTO employee(empid,name)
                          VALUES(%s, %s)
                       """, row)
conn.commit()
cursor.close()
print("Done")

다음과 같은 오류가 발생합니다.

cursor.execute("""INSERT INTO employee(empid,name) pyodbc.ProgrammingError: ('The SQL contains 0 parameter markers, but 1 parameters were supplied', 'HY000')

텍스트 파일 데이터는 다음과 같습니다.

empid|Name
1|'Ram'

  • 답변 # 1

    cursor.execute("""INSERT INTO employee(empid,name)
                      VALUES(?, ?)
                      """, row)
    
    

    이것이 작동하지 않으면 행이 배열이라고 가정하고 다음을 시도하십시오.

    cursor.execute("""INSERT INTO employee(empid,name)
                      VALUES(?, ?)
                      """, row[0], row[1])
    
    

관련 자료

  • 이전 android - orgjetbrainstrove4j - trove4j : 20160824를 해결할 수 없습니다
  • 다음 excel - 배열에서 변수를 선언하는 루프?