【发布时间】:2021-05-02 19:02:28
【问题描述】:
如何将文件数据插入到表mysql中?
代码:
import pymysql.cursors
import pymysql as MySQLdb
import pymysql
from Bio import SeqIO
try:
conexao = MySQLdb.connect(host="localhost",user="root",passwd="xxx",db="db_teste")
print("conectado")
print(conexao)
except:
print("Não conectado")
for item in SeqIO.parse('seqteste.txt', 'fasta'):
dados = print('>{}\t{}'.format(str(item.description).replace('|', '\t'), item.seq), )
with conexao:
with conexao.cursor() as cursor:
sql = "INSERT INTO `tabelateste` (`id`, `id_name`, `host`, `organism`, `seq`) VALUES(1, %s, %s, %s,%s, %s)"
cursor.execute(sql, (dados, dados, dados, dados, dados,))
conexao.commit()
错误:
pymysql.err.OperationalError: (1136, "Column count doesn't match value count at row 1")
我们的:
sql = "INSERT INTO `tabelateste` (`id`, `id_name`, `host`, `organism`, `seq`) VALUES(%s, %s, %s, %s,%s, %s)"
cursor.execute(sql, (dados, dados, dados, dados, dados))
conexao.commit()
error:
line 125, in mogrify
query = query % self._escape_args(args, conn)
TypeError: not enough arguments for format string
如何解决这个错误,并能够在mysqldb表中插入数据?
我的序列:
>gb:KX262887|Organism:Zika virus|Strain Name:103451|Segment:null|Subtype:Asian|Host:Human
GTTGTTGATCTGTGTGAATCAGACTGCGACAGTTCGAGTTTGAAGCGAAAGCTAGCAACAGTATCAACAG
GTTTTATTTTGGATTTGGAAACGAGAGTTTCTGGTCATGAAAAACCCAAAAAAGAAATCCGGAGGATTCC
>gb:KX262887|Organism:Zika virus|Strain Name:103451|Segment:null|Subtype:Asian|Host:Human
GTTGTTGATCTGTGTGAATCAGACTGCGACAGTTCGAGTTTGAAGCGAAAGCTAGCAACAGTATCAACAG
GTTTTATTTTGGATTTGGAAACGAGAGTTTCTGGTCATGAAAAACCCAAAAAAGAAATCCGGAGGATTCC
>gb:KX262887|Organism:Zika virus|Strain Name:103451|Segment:null|Subtype:Asian|Host:Human
GTTGTTGATCTGTGTGAATCAGACTGCGACAGTTCGAGTTTGAAGCGAAAGCTAGCAACAGTATCAACAG
GTTTTATTTTGGATTTGGAAACGAGAGTTTCTGGTCATGAAAAACCCAAAAAAGAAATCCGGAGGATTCC
预期退出输出:
mysql数据库
id id_name host organism seq
1 gb:KX262887 Human Zika Virus aatgtgttt
解决?
【问题讨论】:
-
为什么总是插入相同的 ID 值?那应该是
AUTO_INCREMENT,在这种情况下,它会从插入列表中省略,或者是预先生成的。 -
提示:您有 1 个固定值 + 5 个占位符 = 6,但只指定了 5 列。请记住,每个
%s都应该有一个对应的值和列。 -
我想插入打印出来的数据 column1 Human column2 Dengue ... id_name host organic seq 1 gb: KX262887 Human Zika Virus aatgtgttt 但是,我无法解决错误
-
做什么:'' mysql > SHOW TABLES; '' 为您的数据库显示
标签: mysql sql pymysql biopython