2016-10-15 63 views
-1

我正在使用一個名爲pysd的庫來將vensim文件轉換爲Python,但是當我嘗試去做(庫函數)時,我得到一個解析錯誤,但不明白它的含義。pysd庫ParseError

這是我的日誌。


ParseError        Traceback (most recent call last) 
<ipython-input-1-9b0f6b9bac1f> in <module>() 
     1 get_ipython().magic(u'pylab inline') 
     2 import pysd 
----> 3 model = pysd.read_vensim('201520_1A_Volare_Ev.Tecnica.itmx') 

/Library/Python/2.7/site-packages/pysd/pysd.pyc in read_vensim(mdl_file) 
    45  """ 
    46  from .vensim2py import translate_vensim 
---> 47  py_model_file = translate_vensim(mdl_file) 
    48  model = PySD(py_model_file) 
    49  model.mdl_file = mdl_file 

/Library/Python/2.7/site-packages/pysd/vensim2py.pyc in translate_vensim(mdl_file) 
    651  for section in file_sections: 
    652   if section['name'] == 'main': 
--> 653    model_elements += get_model_elements(section['string']) 
    654 
    655  # extract equation components 

/Library/Python/2.7/site-packages/pysd/vensim2py.pyc in get_model_elements(model_str) 
    158  """ 
    159  parser = parsimonious.Grammar(model_structure_grammar) 
--> 160  tree = parser.parse(model_str) 
    161 
    162  class ModelParser(parsimonious.NodeVisitor): 

/Library/Python/2.7/site-packages/parsimonious/grammar.pyc in parse(self, text, pos) 
    121   """ 
    122   self._check_default_rule() 
--> 123   return self.default_rule.parse(text, pos=pos) 
    124 
    125  def match(self, text, pos=0): 

/Library/Python/2.7/site-packages/parsimonious/expressions.pyc in parse(self, text, pos) 
    108 
    109   """ 
--> 110   node = self.match(text, pos=pos) 
    111   if node.end < len(text): 
    112    raise IncompleteParseError(text, node.end, self) 

/Library/Python/2.7/site-packages/parsimonious/expressions.pyc in match(self, text, pos) 
    125   node = self.match_core(text, pos, {}, error) 
    126   if node is None: 
--> 127    raise error 
    128   return node 
    129 

ParseError: Rule 'escape_group' didn't match at '' (line 1, column 20243). 
+1

您可以發佈導致此錯誤的代碼嗎? – Stedy

+0

這只是一個import語句:%pylab直列 進口pysd 模型= pysd.read_vensim(「201520_1A_Volare_Ev.Tecnica.itmx」) – Esteban

+1

這是很好的做法,張貼在您的文章的最小工作示例(MWE)本身,使人們可以很容易地查看和重現問題;它會使你更有可能得到迴應。 – Daniel

回答

0

.itmx是iThink將會擴展,不幸PySD不支持(還)。在未來,我們將制定一個轉化途徑,讓您可以將這些轉化爲目標。