Ошибка скрипта при вызове Python кода из C# с использованием Iron Python - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь создать инструмент, позволяющий пользователю вызывать python код из C#. В конечном итоге пользователь сможет отправлять данные из своей карты ESRI в инструменты анализа python. Я использую Iron Python для этой цели. Мой код python открывает файл Excel, считывает его, добавляет столбец во фрейм данных и затем сохраняет его обратно в Excel. Код python работает, но я получаю сообщение об ошибке из моего кода C#.

#one.py
import pandas as pd
import xlsxwriter
df = pd.read_excel("test505.xlsx", sheet_name="Nodes")
df["NewColumn"] = df["X1"]
writer = pd.ExcelWriter('test505.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name="Nodes", index=False)

writer.save()

C# код

     ScriptRuntimeSetup setup = Python.CreateRuntimeSetup(null);
     ScriptRuntime runtime = new ScriptRuntime(setup);
     ScriptEngine engine = Python.GetEngine(runtime);
     ScriptSource source = engine.CreateScriptSourceFromFile(filePath);
     ScriptScope scope = engine.CreateScope();
     var searchPaths = engine.GetSearchPaths();
     searchPaths.Add(@"C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\Scripts\");
     searchPaths.Add(@"C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\Scripts");
     searchPaths.Add(@"C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\Lib\site-packages");

     engine.SetSearchPaths(searchPaths);
     source.Execute(scope);

Я получаю сообщение об ошибке «Microsoft.Scripting.SyntaxErrorException:« неверный синтаксис »." Есть идеи, что я делаю не так?

...