【发布时间】:2021-12-12 12:18:00
【问题描述】:
在权力bi
- 结合两个 power bi 查询 - 一个带有数据,一个带有 DateTime 戳文本字符串
- 填写日期时间字段 - 添加自定义列,
我正在尝试在 python 的数据框中实现同样的效果,但没有运气!
非常感谢任何帮助。
我得到的错误如图所示。 datetime stamp as appended column
我的代码:
import requests
import pandas as pd
import time
from time import gmtime, strftime
import datetime
from datetime import datetime
class NseIndia2:
def __init__(self):
self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36'}
self.session = requests.Session()
self.session.get("http://nseindia.com", headers=self.headers)
def get_option_chain(self, symbol, indices=False):
if not indices:
url = 'https://www.nseindia.com/api/option-chain-equities?symbol=' + symbol
else:
url = 'https://www.nseindia.com/api/option-chain-indices?symbol=' + symbol
time = self.session.get(url,headers=self.headers).json()["records"]['timestamp']
# output 28-Oct-2021 13:16:44
# print(time)
# web_datetime = datetime.strptime(time,'%d-%b-%Y %H:%M:%S')
# print(dtm)
# output 2021-10-28 13:58:45
data = self.session.get(url,headers=self.headers).json()["records"]["data"]
my_df = []
for i in data:
for k, v in i.items():
if k == "CE" or k == "PE":
info = v
info["instrumentType"] = k
my_df.append(info)
return pd.DataFrame(my_df)
nse = NseIndia2()
##print(nse.get_stock_info("RELIANCE"))
df= (nse.get_option_chain("NIFTY",indices=True))
df.loc[:,"recordedat"] = time.time() ##?This is where i need web's date-time details instead of sciencitfic number
##print(df)
print(df["recordedat"])
Print(df)
【问题讨论】:
-
始终将代码、数据和完整的错误消息作为文本(不是屏幕截图,不是链接)放在有问题的地方(不在评论中)。
-
您似乎忘记了
()来执行函数——比如time()。或者更确切地说是time.time()
标签: python pandas dataframe jupyter-notebook append