Я новичок в Windows Forms and Iron python, и мне нужно подключить python script, который считывает значения столбцов файла excel и возвращает список в windows Form, поэтому я сделал класс для этого:
class Python_Script
{
private ScriptEngine engine;
private ScriptScope scope;
private ScriptSource source;
public Python_Script(string name)
{
engine = Python.CreateEngine();
scope = engine.CreateScope();
string str = @"script_route" + name;
engine.ExecuteFile(@str, scope);
}
public List<string> Col_Values(int sheet, int col)
{
List<string> result;
dynamic col_values = scope.GetVariable("Col_Values");
result = col_values(sheet, col);
return result;
}
И когда mi инициализируется, я делаю это:
public partial class Form2 : Form
{
List<string> test_col = new List<string>();
Python_Script my_py = new Python_Script("script_leer_excel.py");
public Form2()
{
test_col = my_py.Col_Values(0,0);
}
Это мой python скрипт
import sys
import xlrd
loc = ("excel_route")
wb = xlrd.open_workbook(loc)
def Col_Values(sheet, col):
sheet = wb.sheet_by_index(sheet)
result = sheet.col_values(col)
return result
Но когда я запускаю код, я получаю сообщение об ошибке: Iron Python .Runtime.Exceptions.ImportException: 'No module named xlrd'
Я понятия не имею, как установить модуль xlrd в Iron python , Я установил его с помощью командной строки для python 3.8, и моя python среда в visualstrudio сообщает мне, что я использую python 3.8 Visual studio python enviroment