Терминал: CURL | пешком до JsonPath | prettyprint JSON

Я ищу возможность распечатать части возвращенного документа JSON в оболочке.

Прямо сейчас я отправляю HTTP-ответ от cURL на python, чтобы распечатать его:

curl -vX GET http://foo.bar | python -mjson.tool

Но теперь я хотел бы знать, как я могу на самом деле "пройти" путь к подмассиву?

Если, например, были возвращены данные JSON: ) выполнение следующего кода занимает 40 секунд: import pyodbc from datetime import date conn = pyodbc ....

В этой таблице:

CREATE TABLE test_insert (
    col1 INT,
    col2 VARCHAR(10),
    col3 DATE
)

следующий код запускается за 40 секунд:

import pyodbc

from datetime import date


conn = pyodbc.connect('DRIVER={SQL Server Native Client 10.0};'
    'SERVER=localhost;DATABASE=test;UID=xxx;PWD=yyy')

rows = []
row = [1, 'abc', date.today()]
for i in range(10000):
    rows.append(row)

cursor = conn.cursor()
cursor.executemany('INSERT INTO test_insert VALUES (?, ?, ?)', rows)

conn.commit()

Эквивалентный код с psycopg2 занимает всего 3 секунды. Я не думаю, что mssql намного медленнее, чем postgresql. Есть идеи, как улучшить скорость массовой вставки при использовании pyodbc?

РЕДАКТИРОВАТЬ: Добавьте некоторые примечания после открытия Гурца

В pyodbc поток выполнения executemany выглядит следующим образом:

  • инструкция подготовки
  • ] цикл для каждого набора параметров
    • привязать набор параметров
    • выполнить

В ceODBC поток выполнения executemany следующий:

  • инструкция подготовки
  • привязка всех параметров
  • выполнение
21
задан sayap 6 April 2012 в 15:10
поделиться