如何将Excel单元格中的Python代码文本在脚本中执行?
解决方法
你直接写dfcorrection只是调用了存储代码的字符串变量,根本不会执行里面的代码逻辑。要运行从Excel单元格读出来的这段代码,得用Python的exec()函数。
把你代码里的dfcorrection那行改成下面这样就行:
# ...前面的代码不变... dataframe = pandas.DataFrame( Final_data, columns=dataframe_load, ) # 执行从单元格读取的代码 exec(dfcorrection)
要注意的点
- 得保证Excel单元格里的代码语法完全正确,比如你示例里的
dataframe['CreatedDate']= pd.to_datetime(dataframe['CreatedDate']),要确保pd已经在脚本开头导入(比如import pandas as pd),拼写也不能错。 - 执行
exec()之前,dataframe变量必须已经定义好,不然会报变量未定义的错误。 - 这种从外部文件读代码执行的方式有安全风险,如果Excel文件被篡改,可能会运行恶意代码,所以一定要确保文件来源靠谱。
内容的提问来源于stack exchange,提问作者PopularDuck
相关产品推荐
相关产品推荐

