У меня проблема с запуском кода Python от xlwings в Excel. Мой код VBA:
Sub Practice()
RunPython ("import practice; practice.getdata()")
End Sub
Мой код на python - Practice.py в Pycharm. Я использую код Python для подключения к API deribit, а затем использую Excel для запуска кода Python для загрузки данных из API deribit в Excel. Мой код Python следующий:
import pprint
import xlwings as xw
import pandas as pd
import numpy as np
from openpyxl.utils.dataframe import dataframe_to_rows
from openpyxl import Workbook
from deribit_api import RestClient
def getdata():
access_key = "6wvUvxmVSoJq"
access_secret = "HQQ7ZTU2ZESOR2UELLVSHCRWSHPP2VYE"
url = "https://test.deribit.com"
client = RestClient(access_key, access_secret, url)
client.index()
positions = client.positions()
account = client.account()
dfp = pd.DataFrame(columns=['Kind', 'Expiry Date', 'Direction', 'Underlying', 'Delta', 'Size', 'P&L'], index=range(len(positions)))
for i in range(len(positions)):
dfp.loc[i]['Kind'] = positions[i]['kind']
dfp.loc[i]['Expiry Date'] = positions[i]['instrument']
dfp.loc[i]['Direction'] = positions[i]['direction']
dfp.loc[i]['Underlying'] = positions[i]['indexPrice']
dfp.loc[i]['Delta'] = positions[i]['delta']
dfp.loc[i]['Size'] = positions[i]['size']
dfp.loc[i]['P&L'] = positions[i]['profitLoss']
wb = xw.Book.caller()
ws = wb.active
for r in dataframe_to_rows(dfp, index=False, header=True):
ws.append(r)
ws.cell(row=15, column=1).value = 'Total Delta'
ws.cell(row=15, column=2).value = 'Options Delta'
ws.cell(row=15, column=3).value = 'Options Gamma'
ws.cell(row=15, column=4).value = 'Options Theta'
ws.cell(row=15, column=5).value = 'Options Vega'
ws.cell(row=16, column=1).value = account['deltaTotal']
ws.cell(row=16, column=2).value = account['optionsD']
ws.cell(row=16, column=3).value = account['optionsG']
ws.cell(row=16, column=4).value = account['optionsTh']
ws.cell(row=16, column=5).value = account['optionsV']
После запуска Excel я получаю сообщение об ошибке, подобное следующему:
Файл "/Users/wenchengwang/PycharmProjects/practice/practice.py", строка
7, в
из импорта deribit_api RestClient
ModuleNotFoundError: нет модуля с именем 'deribit_api'
Я запутался в сообщении об ошибке, значит ли это, что мне нужно установить deribit api в excel?