質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

RRDTool

RRDToolは、Round Robin Database toolの略。統計情報の管理ツールで、時系列のデータをデータベースに格納しグラフ化します。描画できるグラフの制限が少ないといったメリットがあり、四則演算の結果をグラフ化できるなど描画機能も充実しています。

Q&A

解決済

1回答

2736閲覧

python-rrdのデータ抽出

itousan

総合スコア8

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

RRDTool

RRDToolは、Round Robin Database toolの略。統計情報の管理ツールで、時系列のデータをデータベースに格納しグラフ化します。描画できるグラフの制限が少ないといったメリットがあり、四則演算の結果をグラフ化できるなど描画機能も充実しています。

0グッド

0クリップ

投稿2017/12/30 10:01

pythonのrrdtoolを使ってrrdデータからmedianの値(出力の太字部分)だけを抽出したいです。
モジュールの標準機能では特定のカラムのデータだけを抽出することはできないようで、
lastupdateを使って表示させた文字列から抽出するしかないかと考えていますが、
他の方法をご存知の方がいらっしゃいましたらアドバイスいただければと思います。

for file in get_rrd_list(directory):
result = rrdtool.lastupdate(file, 'AVERAGE' 'median')
print result

---------------------------出力----------------------------
{'date': datetime.datetime(2017, 12, 11, 7, 32, 53), 'ds': {'loss': 0.0, 'uptime': None, 'ping9': 0.01945, 'ping8': 0.01932, 'ping5': 0.01912, 'ping1': 0.01891, 'ping7': 0.01923, 'ping6': 0.01921, 'median': 0.01921, 'ping10': 0.01954, 'ping3': 0.01904, 'ping2': 0.019, 'ping4': 0.0191}}

また上記の文字列からmedianの値だけを抽出する際の方法についてもアドバイスいただけると幸いです。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ドキュメントを読む限りlastupdateメソッドの戻り値は辞書型(dict)です。
なので辞書のキーを指定すれば median だけ取得できるはずです。

python

1for file in get_rrd_list(directory): 2 result = rrdtool.lastupdate(file, 'AVERAGE' 'median') 3 print result['ds']['median']

https://pythonhosted.org/rrdtool/usage.html?highlight=lastupdate#lastupdate

投稿2017/12/30 11:21

編集2017/12/30 11:22
tell_k

総合スコア2120

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

itousan

2017/12/30 13:47

dict型だったんですね。。完全に見間違えていました。 アドバイス通りデータを取得できました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問