私は最近、Macにxlwingsをインストールしました。現在、リクエストを介していくつかのデータを更新するための小さなプログラムを作成しようとしています。テストとして、私はAPIを介してcryptocurrency価格を更新し、それらをExcelに書き込もうとしました。 runpythonを使用しない場合、コードは機能します。しかし、すぐに私は私のVBAコードを実行すると、 私はこのエラーを取得する:xlwings runpython EOLエラー
File "<string>", line 1
import sys, os;sys.path.extend(os.path.normcase(os.path.expandvars('/Users/Dennis/Documents/crypto;
^
SyntaxError: EOL while scanning string liberal
私は、多くのスレッドやフォーラムを検索しましたが、私の問題に答えを見つけるように見えることはできません。より良く理解するために 、
私のpythonコード:
import requests, json
from datetime import datetime
import xlwings as xw
def do():
parameter = {'convert' : 'EUR'}
#anfrage über API
query_ticker = requests.get('https://api.coinmarketcap.com/v1/ticker', params = parameter)
#anfragedaten in JSON-format
data_ticker = query_ticker.json()
wb = xw.Book.caller()
ws0 = wb.sheets['holdings']
for entry in data_ticker:
# update eth price
if entry['symbol'] == 'ETH':
ws0.range('B14').value = float(entry['price_eur'])
#update btc price
if entry['symbol'] == 'BTC':
ws0.range('B15').value = float(entry['price_eur'])
if entry['symbol'] == 'NEO':
ws0.range('B16').value = float(entry['price_eur'])
if entry['symbol'] == 'XRP':
ws0.range('B17').value = float(entry['price_eur'])
now = datetime.now()
write_date = '%s.%s.%s' %(now.day, now.month, now.year)
write_time = '%s:%s:%s' %(now.hour, now.minute,now.second)
ws0.range('B2').value = write_date
ws0.range('B3').value = write_time
wb.save('holdings.xlsm')
#wb.close()
これは私のVBAコードです:
Sub update_holdings()
RunPython ("import update_holdings; update_holdings.do()")
End Sub
あなたが掲示したエラーの外見から、文字列割り当ての一重引用符が見つからない可能性があります – jsotola
私にとっては、ファイルパスが渡される方法に何か問題があるようです。しかし、私は、 'import sys [..]'エラーが何を指しているのか、それとも私に何を伝えようとしているのかを少しでも分かりません。私のコードでわかるように、私はsysモジュールでは動作しませんでした。 – ohlawd
編集:xlwings fibonacciのサンプルファイルをダウンロードしましたが、まったく同じエラーがスローされます。 PYTHONPATHで何かできますか?問題は、私はこの分野ではあまり経験がありません。 – ohlawd