notion-py を使用して、概念テーブルの行内に yfinance を使用して配当を表示しようとしています
ここに私が使用しているコードがあります
from notion.client import NotionClient
from datetime import datetime
import pandas as pd
client = NotionClient(token_v2="mytoken")
cv = client.get_collection_view("tablepageurl")
data = pd.DataFrame()
stock_list = ['XSH.TO', 'ZFL.TO','EEMV', 'ACWV', 'XEF.TO', 'XIC.TO', 'VTI']
start = '2019-10-1'
end = '2020-10-30'
for i in stock_list:
series = yf.Ticker(i).dividends.loc[start:end]
data = pd.concat([data, series], axis=1)
row = cv.collection.add_row()
row.shmoney = stock_list
tickers = ('XSH.TO', 'ZFL.TO','EEMV', 'ACWV', 'XEF.TO', 'XIC.TO', 'VTI')
for ticker in tickers:
price = yf.Ticker(ticker)
row = cv.collection.add_row()
hist = price.history(period="1d")
row.SYMBL = ticker
row.DayReturn = float(round(((hist.Close[0]) - (hist.Open[0]) ) / (hist.Open[0])*100,2))
このエラーでプロンプトが表示されます
File "/Users/ajj/Documents/NotionStockAPI/notionapi_env/lib/python3.9/site-packages/notion/collection.py", line 583, in _convert_python_to_notion
raise TypeError(
TypeError: Value passed to property 'shmoney' must be an int or float.
「shmoney」は、Notion のテーブル行の名前です。名前がコードと競合していると思ったので、名前をいじっていました (本当に迷っています)。
取り出すとき
from notion.client import NotionClient
from datetime import datetime
import pandas as pd
client = NotionClient(token_v2="mytoken")
cv = client.get_collection_view("tablepageurl")
data = pd.DataFrame()
stock_list = ['XSH.TO', 'ZFL.TO','EEMV', 'ACWV', 'XEF.TO', 'XIC.TO', 'VTI']
start = '2019-10-1'
end = '2020-10-30'
for i in stock_list:
series = yf.Ticker(i).dividends.loc[start:end]
data = pd.concat([data, series], axis=1)
row = cv.collection.add_row()
row.shmoney = stock_list
すべてがうまくリストされます。