【发布时间】:2021-08-29 18:56:11
【问题描述】:
类似的问题已经被问过很多次了,但令人惊讶的是,似乎很少有答案能解决我认为的问题。
我有一个或多个列的 csv 文件,每个单元格中都包含一个字典。在read_csv 步骤之后,我在这些列上尝试了ast.literal_eval,以便将 str 格式的字典转换为字典类型的对象。但是,我不断收到malformed node or string 错误。
以下是相关字典的典型示例:{1: 3681.45, 0: 3693.3333333333335}。另一个,nan 值:{1: 4959.95652173913, 0: nan}。编辑:实际上,只有这个nan 值导致了错误(请参阅下面的Rakesh 解决方案)。
查看以前的答案,出现此错误的一个原因可能是因为这些列中的大多数 dicts 值都是浮点数,显然literal_eval 无法处理浮点数或 nans,即使它们被包含在内在字典中(尽管这是我从一个关于元组的问题中推断出来的)。
我必须阅读很多问题和答案才能获得这么多信息,所以认为用关键字str、dict 和标题中的nan 开始一个新主题可能会很有用.
非常感谢任何帮助!
【问题讨论】:
-
@Rakesh 当然,我已经添加了一个典型示例,还有一个具有 nan 值的示例,这可能会带来额外的麻烦。
标签: pandas csv dictionary abstract-syntax-tree