我需要在表中插入这些值,但是出现“操作数应包含1列”的错误
这是我的代码:
sample_text='E://ahmedrazatg.txt'
def stemming_text_1():
conn=pymysql.connect("localhost","root","root","wordnet",use_unicode=True, charset="utf8")
cursor=conn.cursor()
file_array=[]
file = open(sample_text,'r')
arr=[]
surah=[]
verse=[]
var1="ahmedraza"
for line in file.readlines():
words=re.split(' |/|:|;|,|-RRB-|-LRB-|!|\*|\*\*|``',line)
words=[line.replace(".","") for line in words]
words=[line.replace("' '",'')for line in words]
surah.append(words[0])
verse.append(words[2])
j=4
while j<len(words):
arr.append(words[j])
sql="insert into cmp_translation1(surah_no,verse_no,translation,translator_id)values(%s,%s,%s,%s)"
data=surah,verse,arr,var1
r=cursor.execute(sql,data)
j+=2
conn.commit()
cursor.close()
conn.close()
stemming_text_1()
我的输入文件是这样的:
1 | 6 |直接引导我们
2 | 63 |当我们与您立约
2 | 18 |聋哑人,他们不能转身
它几乎有400行。此文件放置在单词数组中。位置word [0]处的所有单词1,2,2被存储在surah中,而位置word [2]处的所有单词6,6,18被存储在诗歌中。
我想要这样的输出:
translation_id|surah_no |verse_no |translation |translator_id
1 | 1 | 6 |Guide us the straight way |ahmedraza
2 | 2 | 63 |We made covenant with you |ahmedraza
3 | 2 | 18 |Deaf dumb blind cannot tu |ahmedraza
答案 0 :(得分:0)
我想是这样的:
data=surah,verse,arr,var1
应该在哪里:
data = [surah, verse, arr, var1]
或者这个:
cursor.execute(sql,data)
应该在哪里:
sql = sql % data
cursor.execute(sql)