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

मैं एक json फ़ाइल को पोस्टग्रेज़ में आयात कैसे करूँ?

मैंने आंद्रे डंस्टन के ब्लॉग का उपयोग करके समाप्त किया और यह SO उत्तर जो कॉपी कमांड का उपयोग करने के लिए एक विशिष्ट तरीके से जोंस को प्रारूपित करने के लिए कहता है।

चूंकि मेरे द्वारा पार्स की जा रही फाइलों के लिए मेरी संरचना काफी परिभाषित है, इसलिए मैंने निम्नलिखित स्क्रिप्ट के साथ समाप्त किया।

def file_len(fname):
    # to find the number of lines in the file.
    # Has been pretty efficient even for millions of records
    with open(fname) as f:
        for i, l in enumerate(f):
            pass
    return i + 1

INPUTFILE = '/path/to/input.json'
OUTPUTFILE = '/path/to/output.json.csv'
LEN = file_len(INPUTFILE)
with open(OUTPUTFILE, 'w') as fo:
    with open(INPUTFILE, 'r') as fi:
        for i, l in enumerate(fi):
            # I skip the first line
            if i == 0: continue 
            
            # To remove the ']}}' from the end
            elif i+1 == LEN: _ = fo.write(l[:-3])
            
            # To remove the ',' from the end 
            # and add \n since write does not add newline on its own
            else: _ = fo.write(l[:-2]+'\n') 

# load statement

import sqlalchemy
POSTGRESQL = f'postgresql+psycopg2://{USERNAME}:{PASSWORD}@{HOSTNAME}/{DB}'
engine = sqlalchemy.create_engine(POSTGRESQL, echo=True)
            
con = engine.connect()
trans = con.begin()
LOAD_SQL = f"COPY tablename from '{OUTPUTFILE}' with csv delimiter E'\x01' quote E'\x02' null as '';"
try:
    con.execute(LOAD_SQL)
    trans.commit()
except Exception as e:
    trans.rollback()
finally:
    con.close()



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. postgresql - टेक्स्ट फ़ील्ड के भीतर एक स्ट्रिंग के सभी उदाहरणों को बदलें

  2. स्क्रिप्ट निष्पादित करने के लिए pgAdmin शॉर्टकट

  3. मैं अक्षांश/देशांतर युग्म को PostGIS भूगोल प्रकार में कैसे परिवर्तित करूं?

  4. PostgreSQL वृद्धिशील तिथियां?

  5. एक ऑपरेशन में एकाधिक PostgreSQL कार्यों की स्कीमा बदलें?