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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

Q&A

解決済

1回答

1135閲覧

データの条件抽出の仕方について

nishina5

総合スコア19

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

0グッド

0クリップ

投稿2019/02/13 04:35

データの抽出はできたのですが、これにさらに下記条件を加えてデータ抽出する場合のやり方を教えていただきたいです。

■抽出したいデータ
キー「Input Data」から値「claim」を含むデータのみを抽出。

■現在実行中のコード

from etherscan import accounts import pandas as pd import datetime as dt API_KEY = 'XXXX' # ADDRESS = 'XXXX' # def get_tx_value(page_no, address, api_key): ac = accounts.Account(address=address,api_key=api_key) # txes = ac.get_all_transactions() txes = ac.get_transaction_page(page_no) ret = [] for t in txes: tmp = [] tmp.append(t.get('hash')) tmp.append(t.get('from')) tmp.append(t.get('to')) tmp.append(int(t.get('value')) / 1000000000000000000 ) tmp.append(dt.datetime.fromtimestamp(int(t.get('timeStamp')))) ret.append(tmp) return ret ret = get_tx_value(page_no=1, address=ADDRESS,api_key=API_KEY) df = pd.DataFrame(ret,columns=['hash','from','to','value','datetime']) df.to_csv('txes.tsv',sep='\t')

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

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

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

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

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

tiitoi

2019/02/13 05:02

キー「Input Data」とはどれのことを指していっていますか? DataFrame にそのような列はないようですが。
firedfly

2019/02/13 05:13

Input Data とはなにか(tに含まれる?) claim とはなにか("claim"という文字列?) それぞれ教えてください。
nishina5

2019/02/13 06:12

Input Data とはtに含まれています。 claim とは Input Data内に含まれる文字列になります。
guest

回答1

0

ベストアンサー

こんにちは。
claimが文字列ならば下のコードようにinを使うのはどうでしょう。
(なおpy-etherscan-api/etherscan/accounts.pyを見ると、Input Dataではなくinputに見えます)

Python

1 for t in txes: 2 if not 'claim' in t.get('input'): 3 continue 4 5 tmp = [] 6 tmp.append(t.get('hash')) 7 tmp.append(t.get('from')) 8 tmp.append(t.get('to')) 9 tmp.append(int(t.get('value')) / 1000000000000000000 ) 10 tmp.append(dt.datetime.fromtimestamp(int(t.get('timeStamp')))) 11 ret.append(tmp) 12 return ret

投稿2019/02/13 07:47

firedfly

総合スコア1131

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

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

nishina5

2019/02/13 09:02

ありがとうございます!助かりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問