0

出力をpostgresデータベースに直接送信したい! 最初に別の形式に変換する必要がある可能性があります! 何か案が!!

curl -sG https://peeringdb.com/api/netixlan --data-urlencode asn=58717 \
  --data-urlencode fields=ix_id,ipaddr4,ipaddr6,speed | jq -c '.data[]'

出力は次のとおりです。

{"ix_id":215,"速度":1000,"ipaddr4":"198.32.167.102","ipaddr6":null} {"ix_id":158,"速度":10000,"ipaddr4":"27.111.228.8 ","ipaddr6":"2001:de8:4::5:8717:1"} {"ix_id":158,"速度":10000,"ipaddr4":"27.111.229.92","ipaddr6":"2001 :de8:4::5:8717:2"} {"ix_id":429,"速度":10000,"ipaddr4":"103.16.102.35","ipaddr6":"2001:de8:12:100:: 35"}

4

1 に答える 1

0

Pandas と sqlalchemy を使用してみることができます。

import pandas as pd
from sqlalchemy import create_engine

#Define your connection to the DB:
engine = create_engine('postgresql://username:password@servername:port/dbname')

#Convert your json to a Pandas Dataframe:
df = pd.read_json(json_file) # Your json goes here, 
     #or just create a dataframe from the curl dictionary output

#Sends the DataFrame to postgres:
df.to_sql('tablename', engine, if_exists='replace', schema='public')
于 2018-09-25T20:18:22.160 に答える