AIプロンプトの書き方 › フォーラム › テキスト生成AIのプロンプト書き方 › Pythonプログラミング入門
-
投稿者投稿
-
2024年1月2日 5:35 PM #136ドラゴンパンダキーマスター
このトピックでは、Pythonプログラミング言語の基礎からスタートし、初心者向けに具体的なプロンプト(コンソール入力やメッセージ表示)の使い方を学ぶ場です。Pythonは、汎用性が高く学習しやすい言語として広く利用されており、データサイエンス、ウェブ開発、自動化などの分野で活躍しています。
2024年1月25日 7:46 PM #229ドラゴンパンダキーマスターエクセルのB列にある証券コードを読み込んで、株価のデータを
エクセルのG列に記載するようなPythonのコードを書きたいのですが、どうもうまくいきません。
(本当はその他のデータも随時取り込みたいのですが。。。)yfinanceのライブラリーを使っての取得で考えています。
まずうまくいかないのが、B2列以降の証券コードの読み込みです。
という助けてメールがあったのでここでAIによる解決方法を記載していきたいと思います。
使用AI:Microsoft Bing COPIROT
プロンプト文:Pythonでyfinanceのライブラリを使って処理してください。ファイルダイアログボックスでExcelファイルを選択できるようにしてください。ExcelファイルにあるB列のB2から最終行までの証券コードを取得して一銘柄ずつ 証券コード 会社名 単位売買価格 単元株数 株価(円)時価総額(百万円)発行済み株式数(株)をPrintしてください。
結果
何回かエラーが出て、エラーを修正してとお願いしたら、以下のコードができました。ダイアログボックスがつくられなかったりとしましたが、補正をお願いして以下のものができました。名証プレミア のものとかはエラーで取得できませんでしたね。たぶん、yfinanceのライブラリだと東証だけなのかな。数値が正しいかどうかは検証していません。株価: None とかになっているから少しちがうんだろうな。でも、ここまでくれば、できるでしょう。
import pandas as pd
import yfinance as yf
from tkinter import Tk
from tkinter.filedialog import askopenfilename# ダイアログボックスでExcelファイルを選択
Tk().withdraw() # ダイアログボックスを表示するためのルートウィンドウを隠す
filename = askopenfilename() # ファイルダイアログを表示し、選択したファイルのパスを取得# Excelファイルを開く
df = pd.read_excel(filename)# B列の証券コードを取得
tickers = df.iloc[:, 1].dropna().apply(str).tolist() # B列はPythonのインデックスでは1になります# 各証券コードについて情報を取得
for i in range(len(tickers)):
ticker = tickers[i]
try:
ticker = ticker + ‘.T’ # 証券コードの後に’.T’を追加
stock = yf.Ticker(ticker)
info = stock.info# 必要な情報を取得
会社名 = info.get(‘longName’)
単位売買価格 = info.get(‘ask’)
単元株数 = info.get(‘sharesOutstanding’)
株価 = info.get(‘regularMarketPrice’)
時価総額 = info.get(‘marketCap’)
発行済み株式数 = info.get(‘sharesOutstanding’)print(f’証券コード: {ticker}, 会社名: {会社名}, 単位売買価格: {単位売買価格}, 単元株数: {単元株数}, 株価: {株価}, 時価総額: {時価総額}, 発行済み株式数: {発行済み株式数}’)
except Exception as e:
print(f’証券コード: {ticker} の情報取得中にエラーが発生しました: {e}’)
break2024年1月25日 8:29 PM #230ドラゴンパンダキーマスター本日の株価が上手く取得できなかったので、株価だけをもう一度やり直した。単位売買価格 単元株数 も違うものを指定している気もするが、あとは調べてやってみてくださいね。
import pandas as pd
import yfinance as yf
from tkinter import Tk
from tkinter.filedialog import askopenfilename# ファイルダイアログからファイル名を取得
Tk().withdraw()
filename = askopenfilename()# Excelファイルを読み込み、B列のデータを取得
df = pd.read_excel(filename, usecols=’B’)
codes = df.iloc[1:].values.flatten()# 各証券コードの株価を取得して表示
for code in codes:
ticker = yf.Ticker(str(code) + “.T”)
todays_data = ticker.history(period=’1d’)
company_name = ticker.info[‘shortName’]
print(f”本日の {company_name} ({code}) の株価: {todays_data[‘Close’][0]}”) -
投稿者投稿
- このトピックに返信するにはログインが必要です。