【问题标题】:String to Python statement?字符串到 Python 语句?
【发布时间】:2018-08-08 02:56:43
【问题描述】:

我想将字符串转换为 Python 语句。

  1. 从文本文件中获取字符串输入,例如'dataframe['Column_name'].sum()'

  2. 将字符串作为 Python 语句执行,例如dataframe['Column_name'].sum()

  3. 将结果存储在某个变量中

【问题讨论】:

  • 您真正想要实现什么?这些字符串是从哪里来的?你真的需要存储整个语句吗?

标签: python pandas


【解决方案1】:

可以这样做,但不推荐。如果字符串来自用户,您无法控制字符串包含的内容。可能有更好的方法来实现您真正想要的。

如果您真的、绝对、不可避免地必须这样做,您可以使用eval

x = eval('dataframe["Column_name"].sum()')

但是,例如,仅从用户那里获取列名并在函数调用中使用它可能更容易:

column_name = "Column_name"  # or read it from the file
x = dataframe[column_name].sum()

【讨论】:

    【解决方案2】:
    #previous code
    with open("file.txt","r") as f:
        x = eval(f.readline())
        #the rest of the code, using x however you want
    

    如果其他用户应该能够随心所欲地使用脚本,我不会这样做。如果这是出于学习目的供您自己使用,则由您决定。

    【讨论】:

      猜你喜欢
      • 2012-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 2011-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多