私は Python の初心者として、ストック API を操作しながらその機能を探索する旅に最近乗り出しました。その過程で、次の方法を学びました:
これが私の学習経験と重要なポイントの内訳です!
1. Python のセットアップ
Python の 仮想環境 (venv) を使用すると、プロジェクトの依存関係を分離して、パッケージが他のパッケージと競合しないようにすることができます。専門能力の開発に最適です。
仮想環境を作成してアクティブ化する手順:仮想環境を作成する
python -m venv venv
アクティブ化します (Mac/Linux)
ソース venv/bin/activate
venvScriptsactivate
これにより、プロジェクトのパッケージが他のパッケージから分離されます。
パッケージ管理Python のパッケージ インストーラーである pip を使用して、依存関係を管理する方法を学びました。
pip インストール リクエスト python-dotenv
ピップフリーズ>要件.txt
pip install -r required.txt
2.環境変数
機密データを安全に保つために、API キーと認証情報に .env ファイルを使用しました。
SCHWAB_CLIENT_ID=my_secret_id
SCHWAB_CLIENT_SECRET=my_secret_key
from dotenv import load_dotenv
OS をインポート
load_dotenv() # .env
から変数をロードしますapi_key = os.getenv(‘SCHWAB_CLIENT_ID’)
重要: .env ファイルを Git にコミットしないでください。 .gitignore ファイルを使用してそれらを除外します。
リクエスト ライブラリを使用して API を操作しました。
インポートリクエスト
response =requests.get(url, headers=headers, params=params)
if response.status_code == 200:
data = response.json() # レスポンスを JSON に変換
4.スキーマを理解する
API エンドポイントと対話する前に、そのスキーマを調べました。 API スキーマは、次のことを伝える青写真のようなものです。
たとえば、API エンドポイントが株価を取得する場合、スキーマは次のようになります。
リクエストスキーマ:
{
「シンボル」: 「文字列」、
「日付」: 「文字列 (YYYY-MM-DD)」、
「間隔」: 「文字列 (例: '1d'、'1m')」
}
応答スキーマ:
{
「シンボル」: 「文字列」、
「価格」: [
{
「日付」: 「文字列 (YYYY-MM-DD)」、
「オープン」: 「フロート」、
「閉じる」: 「フロート」、
「ハイ」: 「フロート」、
「ロー」: 「フロート」、
「ボリューム」: 「整数」
}
]
}
スキーマを理解すると、次の 2 つの点で役立ちます。
スキーマのおかげで時間を節約でき、API を使用する際のデバッグがはるかに簡単になりました。
5. JSON
の操作API は多くの場合、JSON 形式でデータを返します。 Python でこれを処理した方法は次のとおりです。
json をインポート
with open('tokens.json', 'r') as f:
データ = json.load(f)
with open('tokens.json', 'w') as f:
json.dump(data, f, indent=4)
6.エラー処理
Python の try/excel ブロックは、エラーを適切に管理するのに役立ちました。
試してください:
レスポンス =requests.get(url)
データ = response.json()
次の例外を除く:
print(f”エラー: {str(e)}”)
なしを返す
7.文字列の書式設定
Python の f-strings と .format() メソッドを使用すると、文字列の書式設定が簡単になります。
print(f”在庫: {name}, 価格: ${price:.2f}”)
print(“在庫: {}, 価格: ${:.2f}”.format(名前, 価格))
8.辞書操作
Python の辞書は、ネストされた API データの処理に強力です:
価格 = data.get('価格', 'N/A')
株式 = データ[シンボル]
quote =stock.get(‘quote’, {})
価格 = quote.get('lastPrice', 'N/A')
9.デバッグのヒント
Python でのデバッグはシンプルかつ効果的です:
print(f”デバッグ: {変数}”)
print(f”Type: {type(data)}”)
json をインポート
print(json.dumps(data, indent=2))
10.認証の課題を克服する
私が直面した最大のハードルの 1 つは、認証を機能させることでした。私は数日間行き詰まり、さまざまなアプローチを試みましたが、成功しませんでした。最終的に、なぜ機能しないのかを理解するためにサポートに連絡することにしました。
問題は私が使用していたアカウントの種類に関連していることが判明しました。認証を成功させるには、仲介アカウントと開発者アカウントの両方が必要でした。私は当初、開発者アカウントのみが必要であると考えていましたが、API にはアクティブな証券会社アカウントからの認証情報も必要でした。
この経験は私に重要な教訓を与えてくれました。必要なときはためらわずに助けを求めてください。自分のエゴを脇に置いて指導を求めることで、問題をより深く理解し、一人で悩み続けた場合よりもずっと早く解決することができました
結論Python は信じられないほど初心者に優しいです。私が学んだことは次のとおりです:
次のステップ
最終的な感想
学ぶための最良の方法は実践することです。実験して間違いを犯すことを恐れないでください — それぞれの挑戦は成長の機会です!
データ分析リポジトリ: https://github.com/Jesse-Chong/Schwab-Market-Analysis
元々は Medium で公開されました
以上がストック API で遊ぶ: JavaScript/React 開発者が Python を学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。