SymPy的Sympify函数返回一个字符串,而不是一个SymPy对象

时间:2016-08-01 17:20:34

标签: python excel sympy openpyxl

我有一个包含两列的Excel文件;第一个包含我的变量名,第二个包含一个类型为字符串的数学表达式。使用Python 2.7.12和openpyxl 2.3.2,我导入了这些数据。默认情况下,该字符串将作为unicode导入。

我想从导入的字符串创建一个Sympy对象来对其执行一些操作。但是,在这种情况下,同意我导入的字符串会返回一个字符串对象,而不是SymPy对象。这是为什么?

如果我将字符串硬编码到我的.py文件中,我会得到预期的行为(同意返回一个SymPy对象)。

此代码说明:

from sympy import *
import openpyxl

imported_data = openpyxl.load_workbook('sample_workbook.xlsx')
data = imported_data.get_sheet_by_name('sheet1')

variable_name = data['A1'].value
variable_value = data['B1'].value
globals()[variable_name] = variable_value

x = symbols('x')

print(type(variable1))      # This is a unicode string
sympy_expr = sympify(variable1)
print(type(sympy_expr))     # This should now be a SymPy object, but it's now of type str

Workbook screenshot

Workbook download

0 个答案:

没有答案