Python Sqlite 一次插入一个数字字符串

标签 python sql sqlite

所以我制作了一个 python 脚本,它从 whois 结果列表中收集域名的创建日期和过期日期。

现在我想将这些日期插入到表中,希望的结果是

24.1.2005
24.1.2017
22.3.2002

但是脚本插入数据库的内容是

('2')
('4')
('.')
('1')

我尝试将数据库中的数据类型转换为我能想象到的任何数据类型,但这并没有成功。

def date():

o = open('outputfile.rtf')

for line in o:

    line = line.replace('\n', '') //Just removing some breaks




    if 'created' in line:

        line = line.replace('created:  ', '')

        creationdate = str(line)

        print (creationdate)
        c.executemany("INSERT INTO pvm (creationdate) VALUES (?)", creationdate)


    conn.commit()

最佳答案

编辑: 您可以尝试将创建日期重新格式化为:

creationdate = ['24.1.2005', '22.3.2002', '20.3.2006', '11.12.2013', '22.2.2005', '19.7.2005']

注意:除了上述之外 - matsutus 将其代码更新为以下行:

c.execute("INSERT INTO pvm (creationdate) VALUES (?)", (line,)) 

两条线的组合解决了问题。

<小时/>

https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursor-executemany.html

*由提问者编辑*

将数据转为数组,然后确保插入执行

c.execute("INSERT INTO pvm (luomispvm) VALUES (?)", (line,))

而不是

c.execute("INSERT INTO pvm (luomispvm) VALUES (?)", line)

已修复!

关于Python Sqlite 一次插入一个数字字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37388919/

相关文章:

python - 我为卷积编写的函数给出了错误

python - 如何使用 Ctrl+C 优雅地关闭协程?

mysql - NULL 在 sql case when 语句中

android - SQLite匹配列名,忽略逗号

python - 在项目中途开始 TDD,好的做法?

python - 在 Redis 列表中批量插入值

mysql - 对于MySQL,为什么以下两个sql都可以正常工作?

mysql - 使用 "between"和 select for "dates"

java - 为什么我无法读取 ResultSet 中的下一行

android - 房间 - 选择带有 IN 条件的查询?