python创建sqlite数据库表_用Python在txt文件中创建一个新的sqlite数据库表

我试图在Python脚本中创建SQLite3中的新表(来自txt文件的数据)。我正在创建一个字符串作为将提供列标题的SQL命令。但是,当我将该字符串的变量插入到cursor.execute()中时,出现语法错误。事情是,如果我打印(),然后将其复制并粘贴到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 "", line 1, in

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)的值直接复制并粘贴到代码中时,它可以工作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值