PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

JSON API से विशिष्ट मानों को लक्षित करना और Python का उपयोग करके Postgresql में सम्मिलित करना

सबसे पहले, 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)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक समारोह में चयन या INSERT दौड़ की स्थिति के लिए प्रवण है?

  2. पोस्टग्रेज में सभी रिकॉर्ड्स को टाइटलकेस में बदलें, पहला अक्षर अपरकेस

  3. PostgreSQL के लिए एक मल्टी-डेटासेंटर सेटअप लागू करना - भाग एक

  4. संयोजन मतभेदों को पोस्टग्रेज करता है। ओएसएक्स वी उबंटू

  5. किसी मौजूदा तालिका में PostgreSQL UNLOGGED सुविधा को कैसे लागू करें?