所以我制作了一个 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/