1.ValueError: malformed node or string

ValueError:错误的节点或字符串:

异常展示:

2.异常原因:

df.col=df.col.apply(literal_eval)

输入:字符串

输出:对应的标准的python数据格式

错误是应为:df.col是字符串,df.col=df.col.apply(literal_eval)后,df.col是已经转换成指定类型的python类型,又执行了一次,df.col=df.col.apply(literal_eval),这个时候df.col不是字符串了,故类型不正确,报错。

Python中函数 eval 和 ast.literal_eval 的区别详解_南淮北安的博客-CSDN博客_literal_eval python

def literal_eval(node_or_string):"""Safely evaluate an expression node or a string containing a Pythonexpression.  The string or node provided may only consist of the followingPython literal structures: strings, bytes, numbers, tuples, lists, dicts,sets, booleans, and None.安全地计算包含Python的表达式节点或字符串表达式。提供的字符串或节点可能只包含以下内容Python文字结构:字符串,字节,数字,元组,列表,字典,
set、boolean和None。"""if isinstance(node_or_string, str):node_or_string = parse(node_or_string, mode='eval')if isinstance(node_or_string, Expression):node_or_string = node_or_string.bodydef _convert(node):if isinstance(node, Constant):return node.valueelif isinstance(node, (Str, Bytes)):return node.selif isinstance(node, Num):return node.nelif isinstance(node, Tuple):return tuple(map(_convert, node.elts))elif isinstance(node, List):return list(map(_convert, node.elts))elif isinstance(node, Set):return set(map(_convert, node.elts))elif isinstance(node, Dict):return dict((_convert(k), _convert(v)) for k, vin zip(node.keys, node.values))elif isinstance(node, NameConstant):return node.valueelif isinstance(node, UnaryOp) and isinstance(node.op, (UAdd, USub)):operand = _convert(node.operand)if isinstance(operand, _NUM_TYPES):if isinstance(node.op, UAdd):return + operandelse:return - operandelif isinstance(node, BinOp) and isinstance(node.op, (Add, Sub)):left = _convert(node.left)right = _convert(node.right)if isinstance(left, _NUM_TYPES) and isinstance(right, _NUM_TYPES):if isinstance(node.op, Add):return left + rightelse:return left - rightraise ValueError('malformed node or string: ' + repr(node))return _convert(node_or_string)

​​​​​​Python中函数 eval 和 ast.literal_eval 的区别详解_南淮北安的博客-CSDN博客_literal_eval python

这个函数的作用:判断需要计算的内容计算后还是不是合法的python类型,如果是则进行计算,否则不进行计算。

只会执行合法的python类型,对于字符串进行转换时,出于安全考虑最好使用这个方法。

Debug:ValueError: malformed node or string相关推荐

  1. 【python debug】could not convert string to float: ‘File‘ got an unexpected keyword argument

    python debug过程中碰到的问题随手记录 报错1:ValueError: could not convert string to float: 'File' 在网上没有搜到直接匹配的答案 分析 ...

  2. 成功解决ValueError: could not convert string to float: ‘\\N‘

    成功解决ValueError: could not convert string to float: '\\N' 目录 解决问题 解决思路 解决方法 解决问题 ValueError: could no ...

  3. Python ValueError: could not convert string to float: ‘-‘ 解决办法

    写主成分分析程序时,遇到 ValueError: could not convert string to float: '105001 2512.6143 11857.8736' 的问题 此时我的程序 ...

  4. 【ValueError: could not convert string to float: ‘young‘】python利用pandas对string类型的数据序列化

    项目场景: 利用sklearn库构建决策树,使用sklearn.tree.DecisionTreeClassifier()提供的方法----fit()决策树可视化的时候,我们看到程序报错了 问题描述 ...

  5. Python AST node转为string(source code)

    文章目录 前言 1.python内置ast模块 2.使用astunparse或者astor 3.解决方案 小结 参考文献 前言 创作开始时间:2021年4月9日14:46:15 如题.在尝试了一番之后 ...

  6. python readline读文件,并且将其转化为数字形式时:ValueError: could not convert string to float:

    记死这个float 错误描述: 将csv文件中的数据预处理之后,写入txt文本中,再从文本中读取数据进行处理时报错:python readline读文件,并且将其转化为数字形式时:ValueError ...

  7. ValueError: could not convert string to float:

    用python读取excel的列数据时报错ValueError: could not convert string to float: ,意思是有取到一个空字符,无法转换,这才想起来我的excel里确 ...

  8. 【Pandas】 ValueError: Unable to parse string “2,00“ at position 3769

    问题: ValueError: Unable to parse string "2,00" at position 3769 在使用 pandas 对 dataframe 的 Ob ...

  9. 错误日志:ValueError: could not convert string to float: '锘181'

    错误日志:ValueError: could not convert string to float: '锘181' 在用ADvancedEAST训练自己的模型时,遇到这个错误,很奇怪. 目前尝试的方 ...

最新文章

  1. 使用BCH彩色币方案发行Token已实现
  2. netty 对 protobuf 协议的解码与包装探究(2)
  3. 撬开骁龙8一看,满满都是顶会论文
  4. CSS使用display:incline:元素放置在一行之内
  5. Spring Web-Flux – Cassandra后端的功能样式
  6. Deepin_wine安装超星阅读器及解决乱码问题
  7. 宽、窄带语谱图分析总结
  8. Echarts经典颜色搭配
  9. oracle数据库教程ppt,Oracle 数据库入门教程 PPT
  10. cpufreq 代码分析
  11. 当ivms平台无法登录以及服务状态显示未注册的处理办法
  12. dialog.js弹窗插件
  13. web开发框架_Web开发的最佳PHP框架
  14. 淘宝客推广的优势 推广作用提高销量、转化率、测图测款
  15. 电子科技大学和东北大学计算机专业哪个好,电子科技大学、南京航空航天大学、东北大学,你会怎么选择?...
  16. 安卓View可见,不可见,隐藏。
  17. win7远程计算机设置路由器,win7路由器设置图解 win7路由器怎么设置
  18. 学术-物理-维空间:五维空间
  19. 1074: 最小公倍数(2级) 两个正整数,计算这两个数的最小公倍数。
  20. Jenkins添加DingTalk

热门文章

  1. 南非认证_现在...南非
  2. 组合数据类型练习,英文词频统计实例
  3. linux machine start,Linux中的MACH定义之MACHINE_START / MACHINE_END
  4. 国内明明有期货公司,为什么那么多人却喜欢做外盘呢
  5. 四色定理(DFS深搜)
  6. vs2017 自定义生成规则 错误 MSB3721 命令 ”已退出,返回代码为 1。
  7. 阿里p8整理的这套K8S手册,我看谁还没有看过
  8. 微信小程序第三方平台开发流程以及改善
  9. 5 matlab详解牛顿下山法求解复杂函数代数方程和超越方程
  10. 使用ElementUi的tabs切换组件时下拉选择器出现破板情况