使用Python将Csv文件写入SQL Server数据库中已存在的表中-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

使用Python将Csv文件写入SQL Server数据库中已存在的表中

祖安文状元 2020-01-04 15:49:42 332

我试图将CSV文件插入SSMS数据库表中已经存在的表中。我的数据中有一个数据列。但是,当我尝试插入数据时,我一直收到此错误。请告诉我我在哪里做错了,因为服务器连接和从数据库提取数据都很好。下面是代码。

with open("combine.csv", encoding="utf8") as f:
     csvreader = csv.reader(f)
     csvdata = []
     for row in csvreader:
         csvdata.append(row)
         print(csvdata)
for row in csvdata:
# Insert a row of data
    print(row)
    if len(row)>=8:
         data = [row[0],row[1],row[2],row[3],row[4],row[5],row[6],row[7]]
         cursor.execute("INSERT INTO BILLING_COPY (DATE, DEPARTMENT_NUMBER, DEPARTMENT_NAME, DIVISION_CODE, DIVISION_NAME, O_T_AMT, R_AMT, U_AMT ) VALUES (?, ?, ?, ?, ?, ?, ?, ?)", data)
SQL 数据库 Python
分享到
取消 提交回答
全部回答(1)
  • 祖安文状元
    2020-01-04 15:49:59

    在cursor.execute(“ INSERT INTO BILLING_COPY(DATE,DEPARTMENT_NUMBER,DEPARTMENT_NAME,DIVISION_CODE,DIVISION_NAME,O_T_AMT,R_AMT,U_AMT))中的文件“”,第7行,值(?,?,?,?,?,?,?,? ) “,数据)

    我认为您在VALUES(?,?,?等)中提到的数据类型不是正确的有效数据类型,请尝试将其用作%d或%s

    这是一些示例:mySql_insert_query =“”“将笔记本电脑插入(ID,名称,价格,购买日期)VALUES(10,'ProductValues SP99',6459,'2019-12-27')”“

    cursor = connection.cursor()
    cursor.execute(mySql_insert_query)
    connection.commit()
    
    

    我的两分钱:最好将插入查询分配给变量,就像数据变量一样。

    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题
推荐课程