gpt4 book ai didi

python - 在 Python 中从 txt 文件创建新的 sqlite 数据库表

转载 作者:太空宇宙 更新时间:2023-11-03 19:12:03 24 4
gpt4 key购买 nike

我正在尝试在Python脚本中的SQLite3(数据来自txt文件)中创建一个新表。我正在创建一个字符串,用作提供列标题的 SQL 命令。但是,当我将该字符串的变量插入到cursor.execute() 中时,出现语法错误。问题是,如果我 print() 然后将其复制并粘贴到cursor.execute 中,脚本就会起作用。但是,我想对各种 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()

这会生成:

 CreateTableFromText ('animalsheaderstest.sqltdb','animals.txt','animalstable')
'create table animalstable (Owner, Name, Species)'

Traceback (most recent call last):
File "<pyshell#108>", line 1, in <module>
CreateTable ('animalsheaderstest.sqltdb','animals.txt','animalstable')
File "/Users/zeintawil/Zeins_Files/School/Senior/OPIM_399/python/practice/ReadInPrac.py", line 62, in CreateTable
curs.execute(daQuery)
OperationalError: near "'create table animalstable (Owner, Name, Species)'": syntax error

但是,当我将 print(daQuery) 的值直接复制并粘贴到代码中时,它就可以工作。

最佳答案

看起来您同时使用了单引号和双引号。尝试这样:

daQuery="create table " + daTableName + " (" + DaHeadersString + ")"

关于python - 在 Python 中从 txt 文件创建新的 sqlite 数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12658343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com