タグ

pythonとjsonに関するkoma_gのブックマーク (19)

  • JSON log formatterを使ってPythonのlogが複数行分割される問題を防ぐ - Zeals TECH BLOG

    こんにちは!Zeals で Python をメインに書いている新卒 1 年目のソフトウェアエンジニアの玉城です。 Python で Cloud Logging(旧: Stackdriver Logging) や Datadog にログを出力するとき、複数行に分割されてしまい、元のログイベントとの関連付けが難しくなり困ったことはないでしょうか。 例えば、以下のようにログを書いたときに logger.info("test\n I want to eat sushi") Cloud Logging にはこのように表示されてしまうといった感じです。 これを JSON フォーマットにすることで解決してみましょう。 What's JSON log formatter File structure description JSON customization using json_log_formatt

    JSON log formatterを使ってPythonのlogが複数行分割される問題を防ぐ - Zeals TECH BLOG
  • quicktypeとdaciteでJSONとPythonのdataclassの変換を手軽に書く - Qiita

    背景 Python で外部サービスとAPI連携する際、JSON をパースするシチュエーションは多々あるかと思います。 パースって退屈ですし、ハッカソンのような特にスピード求められる状況ではあまり時間をかけたくないですよね。 今回は JSON を手軽に Python の dataclass に変換する方法を紹介します。 なお、この記事で紹介するコードは GitHub で公開しています。 https://github.com/gaiax/quicktype-dacite-demo 利用するライブラリ タイトルの通り quicktype と dacite というライブラリを主に利用します。 quicktype JSON などのサンプルデータの型を推測し、対応する言語で出力するライブラリ。 https://github.com/quicktype/quicktype npm パッケージとして公開さ

    quicktypeとdaciteでJSONとPythonのdataclassの変換を手軽に書く - Qiita
  • Python ログ収集

    概要Python のログを Datadog に送信するには、Python ロガーを構成してホスト上のファイルにログを記録し、Datadog Agent でそのファイルをテールします。 ロガーの構成Python のログは、トレースバックのために扱いが複雑になることがあります。トレースバックは、ログを複数行に分割する原因となり、元のログイベントとの関連付けが困難になります。この問題に対処するため、Datadog はロギング時に JSON フォーマッターを使用することを強く推奨しています。 各スタックトレースが正しいログにラップされていることを確認します。ログイベントのすべての属性が正しく抽出されていることを確認します (重大度、ロガー名、スレッド名など)。以下のロギングライブラリの設定例をご参照ください。 JSON-log-formatterPython-json-loggerdjango-d

    Python ログ収集
    koma_g
    koma_g 2022/08/04
    トレースバックが複数行に分割されるため、元のログイベントとの関連付けが難しくなります。 この問題に対応するには、ログの収集時に JSON フォーマッタを使用して次の処理を行うことを強くお勧めします。
  • Python標準のloggingでログをJSON形式で出力する - Qiita

    loggingの使い方 まずは基編。ライブラリ側でログを記述し、 クライアント側でそのログをどのように扱うかを決める。 Library side まず各ファイルの最初に以下の4行を追加しておく from logging import getLogger, DEBUG, NullHandler logger = getLogger(__name__) logger.addHandler(NullHandler()) logger.setLevel(DEBUG)

    Python標準のloggingでログをJSON形式で出力する - Qiita
  • Python Tips: JSON を整形して表示したい

    今回は JSON 形式の文字列を Python で整形して表示する方法をご紹介します。 今回は次の 2 つのパターンを取り上げてみます。 シンタックスハイライトなし シンタックスハイライトあり 早速見ていきましょう。 シンタックスハイライトなし シンタックスハイライトが要らない場合は、標準ライブラリの json が使えます。 JSON が文字列に格納されている場合 JSON を格納した文字列が Python コードの中で取得できている場合は、いったん loads() で読み込んだ後に dumps() で再度ダンプし直すと OK です。その際に dumps() のオプション引数 indent を指定することでインデントの大きさを決めることができます。 import json JSON_SAMPLE = '{"_meta": {"hash": {"sha256": "hash"}, "pipf

    Python Tips: JSON を整形して表示したい
  • JSON logging in Python - Andrey Zhukov's Tech Blog

    A lot of the log systems (loggly, logentries, sematext, kibana, etc.) can understand the JSON format. The benefits: it’s easier to search, filter and analize logs. Here is an example of configuration for Python with structlog library. Install import logging.config from structlog import configure, processors, stdlib, threadlocal logging.config.dictConfig({ 'version': 1, 'disable_existing_loggers':

  • RESAS COMMUNITY

    平素より、内閣府 地方創生推進室の「RESAS COMMUNITY」をご利用いただきありがとうございました。 RESAS COMMUNITYにつきましては、令和2年3月30日(月)をもちまして終了いたしました。長い間ご利用いただき誠にありがとうございました。 なお、地域経済分析システム(以下、RESAS)につきましては、継続してご利用いただけます。 引き続き、RESASをご利用いただきますようお願いいたします。 RESASはこちらから 内閣府 地方創生推進室 内閣府 地方創生推進室 〒100-8968 東京都千代田区永田町1-6-1 内閣府府庁舎 Copyright ©Cabinet Office, Government Of Japan. All Rights Reserved.

    RESAS COMMUNITY
  • Python 軽量ドキュメントデータベース TinyDB

    私が選ぶ2015年の”新しい”Pythonモジュール トップ5 こちらで紹介されている「TinyDB」 http://tinydb.readthedocs.org/en/latest/index.html Pure Pythonなドキュメントデータベースなようです。 インストールして使ってみます。 インストール インストールはeasy_installで行いました。 バージョン3.1.2がインストール出来ました。 データの登録と検索 こちらを参考に、使い方を調べてみます。 http://tinydb.readthedocs.org/en/latest/getting-started.html まず、データベースの作成とデータ登録を行ってみます。 from tinydb import TinyDB, Query# データベースオープン 引数はファイル名db = TinyDB('db.json'

    Python 軽量ドキュメントデータベース TinyDB
  • 18.2. json — JSON encoder and decoder — Python 2.7.18 documentation

    JSON (JavaScript Object Notation), specified by RFC 7159 (which obsoletes RFC 4627) and by ECMA-404, is a lightweight data interchange format inspired by JavaScript object literal syntax (although it is not a strict subset of JavaScript 1 ). json exposes an API familiar to users of the standard library marshal and pickle modules. Encoding basic Python object hierarchies: >>> import json >>> json.d

  • ライブラリ: json

    「 json 」は、その名のとおり JSON 形式の文字列やファイルを Python で扱うためのライブラリです。 json ライブラリの魅力は、何といってもシンプルな点です。「 ElementTree 」などに見られるような高度な機能は備えていませんが、当にシンプルなのですぐに使いはじめることができます。 以下、使い方を見ていきましょう。 json で主に使う機能は次の2つです。 json.load(f) json.dump(obj, f) 前者の load() は JSON ファイルからデータを読み込むときに、 dump() は JSON ファイルへとデータを書き込むときに使用します。まずは読み込みについて、続いて書き込みについて見ていきます。 JSONファイルの読み込み import json FILE_IN = 'sample_in.json' f = open(FILE_IN,

    ライブラリ: json
  • ライブラリ: simplejson

    simplejson は JSON 形式のファイルを Python で手軽に扱うためのライブラリです。 Python 2.6 で標準ライブラリに組み込まれた json ライブラリは、この simplejson と同じ内容になっています。 simlejson と json は使える関数なども全く同じで、 simplejson の方が頻繁にアップデートされている点が異なります。 simplejson の方は、関数のオプション引数が追加されていたりパフォーマンスが改善されていたりもするそうです。 Python を普通に使う分には json でよいかと思うのですが、実行速度が気になる状況や新しい機能を利用したい場合なんかには simplejson を導入するのがよいかと思います。 Stack Overflow の次のページなども参考になります。 What are the differences b

    ライブラリ: simplejson
  • PythonでJSONファイルの読み書き - Pythonに萌えているか - Is Python Burning?

    Pythonなんか毎回忘れてしまうのでメモ。 import json dic = {"Hello":"World", "No":"Thank you", "Perfect":"Python"} # JSONファイル書き込み with open('fenrifja.json', 'w') as f: json.dump(dic, f, sort_keys=True, indent=4) # JSONファイル読み込み with open('fenrifja.json', 'r') as f: fenrifja_dic = json.load(f) 書き込み時に引数としてjson.dump(辞書, ファイル, sort_keys=True, indent=4)としておくと、読みやすい形で書き込まれる。 もう何回目か忘れたけど、いい加減覚えたい、というか覚えた!でも一応メモ。ちなみに、いつもjs

  • Bottle のレスポンスを JSON でシリアライズする

    Bottle のレスポンスを JSON でシリアライズするにはどうすれば良いのかな?と思って調べた。どうやら response.content_type に Content-Type を指定すれば良いらしい。 #!/usr/bin/env python # -*- coding: utf-8 -*- from bottle import route, response, run @route('/<name>') def hello(name): response.content_type = 'application/json' return {'message': 'Hello, %s!' % name} if __name__ == '__main__': run(host='localhost', port=8080) 上記のコードで上手くいった。けど、もしかして指定しなくても辞書

    Bottle のレスポンスを JSON でシリアライズする
  • Python : json モジュールで json 読み込み

    JSON (JavaScript Object Notation) は非常に便利. もともと JavaScript 用に作られたデータ形式ですが, 最近は他の言語でもちらほらサポートされています. Python では読み込むだけでそのまま Python 内のオブジェクトと同じように使えるので データ記述の主流である xml よりも使いやすかったりします. Python の json モジュールを読み込むだけで簡単に使えるので, よかったら使ってみてください. サンプル載せておきます. SAMPLE 読み込むデータ(sample.json) json の構文チェックはこちらのサイトが便利です. [ { "name":"C", "appearedIn":1973, "influencedBy":["B", "ALGOL", "Assembly", "Pascal"] }, { "name":"

  • Pythonの基礎 ファイル (JSON) 読み込み編 その2 - Pythonの学習の過程とか

    Pythonの基礎 JSONの読み込み編2 読み込んだJSONから情報を得る 前回までで、JSONの読み込みはできるようになりました。 インデントをつけて、ソートして表示までできますから、かなり見やすいところまでは来ています。 しかし、これがWebAPIからの膨大な量だとすると、、、、、もう少し整形して使いやすいようにしておきたいですね。 自分が必要とする情報だけを取り出したり、任意の順番で表示させたりと、色々なことが考えられます。 Dictionaryになっているので、ルールを考えて取り出せばよい キーと値の組み合わせを考えて、必要なところだけを取り出しましょう。 今回は、group1とgroup2から値が50以上のキーと値だけを取り出してみます。 jsonData.jsonは こんな感じのjsonです { "group1": { "Adam": 40, "Bob": 74, "Chri

    Pythonの基礎 ファイル (JSON) 読み込み編 その2 - Pythonの学習の過程とか
  • JSON変換

    Pythonでは標準ライブラリでJSON(JavaScript Object Notation)APIの利用が可能です。 オブジェクトからJSON文字列 次の例はdumpsを用いてPythonオブジェクト(ディクショナリ)からJSON形式の文字列へ変換を行っています。 import json json_data = {'Python':'python-izm.com', 'SearchEngine':('google.co.jp', 'yahoo.co.jp')} print(type(json_data)) encode_json_data = json.dumps(json_data) print(encode_json_data) print(type(encode_json_data)) <class 'dict'> {"Python": "python-izm.com", "Se

    JSON変換
  • JSON ファイルを出入力するだけの簡単な API をつくる ~Python/Flask 編~ - Qiita

    (※ 編集リクエストをマージしたのでコード大きく変わりました. 機能に変更はありません.) 目的 クライアントから簡単に JSON の読み書きできるような API をさくっと作る。 この記事でやること Python2.7 / Flask を使う。 DB の代わりに JSON ファイルを生成/読みこみ/書きこみする。 この記事でやらないこと Python の環境構築。 細かいコードの説明とか。 背景 コンテンツの状態、ユーザの状態などによって UI を変更したいのです。クライアント(Web まわり)を作りながら、画面の状態やパラメータを追加・変更できるような、状態を返す JSON が欲しくなったので、簡単なものを作ってみました。自分のローカル環境で動かす程度の簡易なものです。(番環境では専用のアプリケーションサーバなど使ったりするのを想定しています。) JSON のファイル名を key、取

    JSON ファイルを出入力するだけの簡単な API をつくる ~Python/Flask 編~ - Qiita
  • Pythonの基礎 ファイル(JSON)の読み込み編 - Pythonの学習の過程とか

    Pythonの基礎 JSONの読み込み編 JSONを読み込む Webサービスでは、例えばどこかのサービスが提供しているAPIにアクセスして 情報をもらい、それを編集しえ自らのサイトに反映させるということがあります。 その際の情報の提供は、大抵の場合にはJSONまたはXMLとなると思います。 XMLもJSONもシンプルな仕様で理解しやすいため、広く使われていますね。 JSONについては説明不要だと思いますが、以下の公式サイトの図がとても分かりやすいです。 JSON.ORG Pythonの公式サイトをチェックしてみる Python JSONのところ とりあえずサンプルコードをそのまま見てみましょう このようなjsonがあるとします。 {"group2":{"Eric":44, "ken":33, "John":44, "Mike":99},"group1":{"Adam":40, "David

    Pythonの基礎 ファイル(JSON)の読み込み編 - Pythonの学習の過程とか
  • Python 楽天ウェブサービス(1) - 或阿呆のブログ

    2014-07-05 Python 楽天ウェブサービス(1) Python WEB API 楽天ウェブサービスを使って情報を取得してみた。今回使ったのは、書籍の検索のapi。著者情報を渡して、その著者の書籍を取得するというもの。要求はhttpで投げて、レスポンスはjsonで受け取りました。jsonの情報って複雑・・・。 サンプルコード #!/usr/bin/python2.7 # -*- coding: utf-8 -*- import urllib import urllib2 import json def Rakuten_BooksAuthorSearch(author,hits,sort): developerId = 'DEV_ID' affiliateId = 'AFF_ID' uri = 'https://app.rakuten.co.jp/services/api/Book

  • 1