пути к каталогу между двойными кавычками, но неожиданный токен снова «добавляется» - PullRequest
0 голосов
/ 03 ноября 2018

Я новичок в C # и Python и не могу решить проблему, пытаясь выполнить скрипт Python из C #. Моя проблема точно такая же, размещенная по следующей ссылке:

Неожиданное добавление токена

Я нашел ответ на другом сайте, где они предлагают заключать пути к каталогам в Python между двойными кавычками. Ну, я исправил это, но проблема все та же, «неожиданный токен« добавь »».

Мой код C # следующий:

ScriptEngine engine = Python.CreateEngine();
ScriptSource source = engine.CreateScriptSourceFromFile(@"/Users/alberto/Desktop/Csharp/test_corso/scacchi/scacchiera.py");

ICollection<string> paths = engine.GetSearchPaths();
paths.Add(@"/Users/alberto/anaconda3/lib/python3.7/site-packages");
paths.Add(@"/Users/alberto/anaconda3/lib/python3.7");
engine.SetSearchPaths(paths);
ScriptScope scope = engine.CreateScope();

мой код Python:

import numpy as np
import pytz
import pandas as pd

chess=pd.read_csv("/Users/alberto/Desktop/Csharp/test_corso/scacchi/scacchiera.txt",names=['nome','colore','indice','stato','x','y'],header=None)

chess_occ=chess[chess['stato']=='ok']
chess_occ=chess_occ.drop_duplicates(['nome','colore','indice'],keep='last')
chess_tail=chess.tail(1)

chess_merge=pd.merge(chess_occ,chess_tail,on=['x','y'],suffixes=['','_'])
a=pd.merge(chess_merge,chess_tail,on=['nome','colore','indice'],how='outer',suffixes=['','_t'],indicator=True)
a=a[a['_merge']=='left_only']
a=a[['nome','colore','indice','stato','x','y','colore_']]

for i in a.index:
        if a['colore'][i]!=a['colore_'][i]:
                a['stato'][i]='ko'

b=pd.merge(chess,a,how='left',on=['nome','colore','indice'],suffixes=['','_new'])
b=b.drop(['x_new','y_new','colore_'],axis=1)

for i in b.index:
    if b['stato_new'][i]=='ko':
        b['stato'][i]='ko'

b=b.drop(['stato_new'],axis=1)
b.to_csv("/Users/alberto/Desktop/Csharp/test_corso/scacchi/scacchiera.txt",index=False,header=False)

occupati=b.drop_duplicates(['nome','colore','indice'],keep='last')
occupati=occupati[occupati['stato']=='ok']
occupati=occupati[['x','y']]
occupati.to_csv("/Users/alberto/Desktop/Csharp/test_corso/scacchi/occupati.txt",index=False,header=False)
        source.Execute(scope);

Где я не прав? Большое спасибо! Пока, Гуфус

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...