0
我有很多python列表,我正在將這些數據傳輸到MySQL數據庫。 從技術上講,每個列表變量每個都有60個值。但是在執行for循環時,只有1條記錄被更新而不是60條。我使用python zip格式很長一段時間,並且從來沒有遇到過問題。Python zip for循環只執行一次而不是60次
flg=1
prodcat="sac"
for a,b,c,d,e,f,g,h,o,p,q,r,s,t,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as1,at1,au in zip(lipgurl,lipdate,lides,liref,liname,licontry,listype,liprice,licurcy,lim,licolor,licond,lisize,liwidth,liheight,lidepth,liwish,limsg,liselracc,librand,liuoid,lifolby,lifolwing,lilikes,lisolddt,libuyer,liusprice,lipbought,libuyernm,libuyacc,libuycont,libuytype,liselrid,lisrcpage):
myid="VC"+str(flg)
cur.execute("INSERT INTO details VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)",(myid,a,au,ag,rdate,b,prodcat,c,d,e,at1,f,g,h,o,an,p,q,r,s,t,ab,ac,ad,ae,af,ai,aj,ak,al,am,ao,ap,aq,ar,as1))
flg=flg+1
print("Database updated")
con.commit()
爲了檢查每個列表變量是否在其內具有60個值,我insterted上述循環和印刷裏面的循環。它打印出所有60個值。
我哪裏錯了?有什麼建議麼?
@Andriy謝謝你!有效!。我從來不知道這樣的事情存在。在Python 3中只有一個更正,而不是izip_longest,我們使用zip_longest。我想知道誰低估了你的答案!如果我有名譽,我就會高興起來。 –
@Ro_nair,你的問題明確說明*爲了檢查每個列表變量是否有60個值,我在上面的循環中插入一個循環並打印。它打印出所有60個值。*,如果你有全部60個值,怎麼會有59個失蹤? –
@PadraicCunningham在上面的循環中,我插入另一個循環作爲'for item in lipgurl:print(item)'。如果他們有60個值或者沒有,我實際上單獨檢查了隨機列表。所以,如果我每次取1個列表變量並打印出來,它會打印出全部60個,但不是以zip形式打印。多數民衆贊成現在糾正使用自由答案 –