我试图在Python脚本中用SQLite3(来自txt文件的数据)创建一个新表。我正在创建一个字符串,用作SQL命令,该命令将提供列标题。但是,当我将此字符串的变量插入光标.执行()我得到一个语法错误。问题是,如果我print()然后复制并粘贴到光标.执行,脚本有效。但是,我想对各种txt文件使用相同的脚本,因此它需要适应文件中的列标题。在
def CreateTable (daDB, daFile, daTableName): #Creates a table with column headers as first row of file
con=sqlite3.connect(daDB)
curs=con.cursor()
LinesList=FileReadIn(daFile)
Headers=LinesList[0]
HeadersString=""
for word in Headers:
HeadersString += word + ", "
DaHeadersString=HeadersString[0:-2]
daQuery="'create table " + daTableName + " (" + DaHeadersString + ")'"
print (daQuery)
curs.execute(daQuery)
con.commit()
con.close()
这将产生:
^{pr2}$但是,当我直接将print(daQuery)的值复制并粘贴到代码中时,它是有效的。在
看来你用了单引号和双引号。试着这样做:
相关问题 更多 >
编程相关推荐