Debug:ValueError: malformed node or string
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相关推荐
- 【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' 在网上没有搜到直接匹配的答案 分析 ...
- 成功解决ValueError: could not convert string to float: ‘\\N‘
成功解决ValueError: could not convert string to float: '\\N' 目录 解决问题 解决思路 解决方法 解决问题 ValueError: could no ...
- Python ValueError: could not convert string to float: ‘-‘ 解决办法
写主成分分析程序时,遇到 ValueError: could not convert string to float: '105001 2512.6143 11857.8736' 的问题 此时我的程序 ...
- 【ValueError: could not convert string to float: ‘young‘】python利用pandas对string类型的数据序列化
项目场景: 利用sklearn库构建决策树,使用sklearn.tree.DecisionTreeClassifier()提供的方法----fit()决策树可视化的时候,我们看到程序报错了 问题描述 ...
- Python AST node转为string(source code)
文章目录 前言 1.python内置ast模块 2.使用astunparse或者astor 3.解决方案 小结 参考文献 前言 创作开始时间:2021年4月9日14:46:15 如题.在尝试了一番之后 ...
- python readline读文件,并且将其转化为数字形式时:ValueError: could not convert string to float:
记死这个float 错误描述: 将csv文件中的数据预处理之后,写入txt文本中,再从文本中读取数据进行处理时报错:python readline读文件,并且将其转化为数字形式时:ValueError ...
- ValueError: could not convert string to float:
用python读取excel的列数据时报错ValueError: could not convert string to float: ,意思是有取到一个空字符,无法转换,这才想起来我的excel里确 ...
- 【Pandas】 ValueError: Unable to parse string “2,00“ at position 3769
问题: ValueError: Unable to parse string "2,00" at position 3769 在使用 pandas 对 dataframe 的 Ob ...
- 错误日志:ValueError: could not convert string to float: '锘181'
错误日志:ValueError: could not convert string to float: '锘181' 在用ADvancedEAST训练自己的模型时,遇到这个错误,很奇怪. 目前尝试的方 ...
最新文章
- 使用BCH彩色币方案发行Token已实现
- netty 对 protobuf 协议的解码与包装探究(2)
- 撬开骁龙8一看,满满都是顶会论文
- CSS使用display:incline:元素放置在一行之内
- Spring Web-Flux – Cassandra后端的功能样式
- Deepin_wine安装超星阅读器及解决乱码问题
- 宽、窄带语谱图分析总结
- Echarts经典颜色搭配
- oracle数据库教程ppt,Oracle 数据库入门教程 PPT
- cpufreq 代码分析
- 当ivms平台无法登录以及服务状态显示未注册的处理办法
- dialog.js弹窗插件
- web开发框架_Web开发的最佳PHP框架
- 淘宝客推广的优势 推广作用提高销量、转化率、测图测款
- 电子科技大学和东北大学计算机专业哪个好,电子科技大学、南京航空航天大学、东北大学,你会怎么选择?...
- 安卓View可见,不可见,隐藏。
- win7远程计算机设置路由器,win7路由器设置图解 win7路由器怎么设置
- 学术-物理-维空间:五维空间
- 1074: 最小公倍数(2级) 两个正整数,计算这两个数的最小公倍数。
- Jenkins添加DingTalk
热门文章
- 南非认证_现在...南非
- 组合数据类型练习,英文词频统计实例
- linux machine start,Linux中的MACH定义之MACHINE_START / MACHINE_END
- 国内明明有期货公司,为什么那么多人却喜欢做外盘呢
- 四色定理(DFS深搜)
- vs2017 自定义生成规则 错误 MSB3721 命令 ”已退出,返回代码为 1。
- 阿里p8整理的这套K8S手册,我看谁还没有看过
- 微信小程序第三方平台开发流程以及改善
- 5 matlab详解牛顿下山法求解复杂函数代数方程和超越方程
- 使用ElementUi的tabs切换组件时下拉选择器出现破板情况