Python .execute() 不执行 Postgresql 查询

问题描述

我正在尝试从 csv 文件更新数据库。我能够连接到数据库,运行 csv 中的行,组成所需的 sql 行,但由于某种原因,它从未命中 Postgresql DB。控制台和 pycharm 没有显示错误

这里是.py

import csv
import psycopg2
filename = 'C:\dev\student_Feedback\student_Feedback\student_Feedback.csv'
fields = []
rows = []
host='localhost'
port=5432
database='ipFeedback'
user='postgres'
password='#########'
def import_student_survey_csv():
    print('Maybe Updating surveys...')
    def doQuery(connection):
        cur = connection.cursor()
        with open(filename,'r') as csvfile:
            csvreader = csv.reader(csvfile)
            fields = next(csvreader)
            for row in csvreader:
                rows.append(row)
                nrows = rows.pop()
                qry = (f"INSERT INTO ipFeedbackdb_studentsurvey ({fields[0]},{fields[1]},{fields[2]},{fields[3]},{fields[4]},{fields[5]},{fields[6]},{fields[7]},{fields[8]},{fields[9]},{fields[10]},{fields[11]}) VALUES ({nrows[0]},{nrows[1]},{nrows[2]},{nrows[3]},{nrows[4]},{nrows[5]},{nrows[6]},{nrows[7]},{nrows[8]},'{nrows[9]}','{nrows[10]}','{nrows[11]}');")
                print('QRY',qry)
                cur.execute(qry)
            csvfile.close()
    myConnection = psycopg2.connect(host=host,port=port,user=user,password=password,dbname=database)
    doQuery(myConnection)
    myConnection.close()
import_student_survey_csv()

.csv

added,spid,q1,q2,q3,q4,q5,q6,q7,best_part,improve,comments
21021,1,"qwe","qwe"
21021,"asd","asd"
21021,"x","x"
21021,12345,"x"

表格数据

Destination Table

数据库结构

DB Structure

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...