सबसे पहले, ids
निकालें टुपल्स की सूची में:
ids = list((item['id'],) for item in data['issues'])
# example ids: [('41508',), ('41509',)]
इसके बाद फ़ंक्शन का उपयोग करें extras.execute_values():
from psycopg2 import extras
query = """
INSERT into Countries (revenue)
VALUES %s;
"""
extras.execute_values(cursor, query, ids)
फ़ंक्शन का दूसरा तर्क executemany(query, vars_list)
एक क्रम होना चाहिए जबकि data
एक ऐसी वस्तु है जिसके तत्वों को पूर्णांक अनुक्रमणिका द्वारा एक्सेस नहीं किया जा सकता है।
प्रदर्शन के कारण, पहला फ़ंक्शन एकाधिक तर्कों के साथ एकल क्वेरी निष्पादित करता है, जबकि दूसरा फ़ंक्शन तर्कों के रूप में कई क्वेरी निष्पादित करता है।
ध्यान दें, कि डिफ़ॉल्ट रूप से execute_values()
. का तीसरा तर्क है टुपल्स की एक सूची है, इसलिए हमने ids
extracted निकाला बस इसी तरह।
यदि आपको एक से अधिक कॉलम में मान सम्मिलित करना है, तो सूची में प्रत्येक टपल में एक सम्मिलित पंक्ति के लिए सभी मान शामिल होने चाहिए, उदाहरण:
values = list((item['id'], item['key']) for item in data['issues'])
query = """
INSERT into Countries (id, revenue)
VALUES %s;
"""
extras.execute_values(cur, query, values)