Python ast.literal_eval 在字典字符串上不起作用(SyntaxError:无效语法)

2024-03-06

我正在尝试使用 JSON 数据处理数据集。然而,数据未经解析就已写入文件。这意味着 python 字典作为字符串写入文件中,而不是作为字符串写入 JSON 对象。

我找到了一个模块(AST),它可以使用以下命令再次将字符串转换为字典:ast.literal_eval功能。

但是,在某些情况下我遇到了一个非常奇怪的错误:

该代码从文本文件中读取并将以下内容应用于每一行:

ast.literal_eval(line.rstrip())

AST 模块似乎有些字符不合适。

还需要记住,并非所有数据集都会发生这种情况,只是某些实例会发生这种情况。

有任何想法吗?

提前谢谢了。


尝试探索 json 包。将字符串转换为字典的更干净、更标准的方法

json.loads(inputStr) // Converts string -> dict
json.dumps(inputJson) // Converts dict -> string

希望这可以帮助。干杯!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python ast.literal_eval 在字典字符串上不起作用(SyntaxError:无效语法) 的相关文章

随机推荐

  • Python 中的硒

    我一直在使用 urllib2 访问网页 但它不支持 javascript 所以我看了一下 Selenium 但即使读了它的文档我也很困惑 我下载了适用于 Firefox 的 Selenium IDE 插件 并尝试了一些简单的操作 from
  • 如何将 C# 方法作为回调传递给 CLI/C++ 函数?

    我在 C CLI 中有这样的方法 void Foo OnEngineCloseCallback callback 具有这样的回调定义 typedef void OnEngineCloseCallback int String errorMe
  • SQL Server - 过去 12 个月的累计总和,但从上个月开始 (SQL Server 18)

    我需要计算过去 12 个月内某个值的累计总和 到目前为止 我的累积计算正在运行 但从当月开始 我需要过去 12 个月的总计 从从上个月开始 目前 我正在使用OVERSQL 子句 从当前行 月开始运行累积总计 请参考下面我的代码示例 SELE
  • 如何将外部资源(属性文件)添加到类路径中以便 war 可以读取?

    我们在将外部目录 具有 config properties 添加到类路径时遇到了小问题 如果我们将其添加到类路径中 我们应该能够在 Web 应用程序中读取它 Web 应用程序中有一些 Spring 应用程序会读取外部属性文件 我在任何地方都
  • CSS @font-face 不适用于 Firefox,但适用于 Chrome 和 IE

    以下代码适用于 Google Chrome beta 以及 IE 7 但是 Firefox 似乎存在问题 我怀疑这是我的 CSS 文件包含方式的问题 因为我知道 Firefox 对于跨域导入不太友好 但这只是静态HTML 不存在跨域问题 在
  • unpack_from 需要至少 1164 字节的缓冲区 [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我正在使用 struct 来解析固定宽度字符串 但是 我在处理大于 1000 字节的固定宽度字符串时遇到了一些麻烦 例如
  • 交互设计、视觉设计、网页设计、UX设计、UI设计、UI开发之间有什么区别? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 交互设计 视觉设计 网页设计 UX设计 UI设计 UI开发之间有什么区别 BTB 下面找到的链接回答了 UI 与 UX 的问题 htt
  • Apache Flink AWS S3 Sink 是否需要 Hadoop 进行本地测试?

    我对 Apache Flink 比较陌生 我正在尝试创建一个简单的项目 将文件生成到 AWS S3 存储桶 根据文档 我似乎需要安装 Hadoop 才能执行此操作 如何设置本地环境来测试此功能 我在本地安装了 Apache Flink 和
  • Next.js:嵌套动态路由的 getStaticPaths

    想象一下你有这样的数据结构 const data posts id 1 title Post 1 slug post 1 id 2 title Post 2 slug post 2 comments id 1 postId post 1 t
  • KDB:字符串与表的比较

    我有一张表 bb bb key1 0 1 2 1 7 col1 1 2 3 4 5 col2 5 4 3 2 1 col3 11 22 33 44 55 如何进行字符串的关系比较 假设我想获取 col3 小于或等于 33 的记录 selec
  • ssl 证书代码异常

    我与 sslStream 建立了客户端服务器套接字连接 但当代码到达行时 服务器上出现异常作为服务器进行身份验证我在互联网上搜索 但找不到为什么会发生这种情况的好答案 我在项目中创建了 pfx 测试文件 并为其设置了一个简单的密码 我不知道
  • codeigniter 中漂亮的 url 设置

    我有控制器 package 函数 tour package 和参数 1 的网址 http www mysite in package tour packages 1 http www mysite in package tour packa
  • SQL数值数据类型截断值?

    我真的希望那里的一些 SQL 专家可以帮助解决这个问题 如果之前已经回答过这个问题 我深表歉意 我确实尝试找到一篇类似的帖子 但无济于事 declare theanswer numeric 38 16 select theanswer 0
  • Facebook FQL 查询使所有用户在线

    我在本地 MySQL 数据库中保存了我的应用程序的所有用户的记录 我拥有获取用户在线状态所需的所有相关信息 UID access token并授予extended permission 如何获取所有用户的在线状态 我目前使用的方法是分别查询
  • 无法在 iOS 4 中播放视频

    我已经编写了在 iPhone OS 3 1 3 中播放视频的代码 并且视频播放正常 但是当我尝试使用相同的代码播放视频时 视频在 iOS 4 中无法播放 我知道 iOS 4 的媒体播放器框架已更改 有什么方法可以在不同的操作系统上播放视频而
  • 您是否发现本机 JSON 实现中存在任何错误? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何创建弹出窗口以在rails 3中创建新记录

    我们有一个要求 网页显示连接几个表的所有记录 我们有一个 添加按钮 单击该按钮后 我必须显示一个弹出窗口 用户将在其中输入必要的详细信息 弹出窗口将有两个按钮 保存 和 取消 单击 保存 按钮 应验证字段 如果所有验证均通过 则将记录保存到
  • “子例程条目中的宽字符” - UTF-8 编码的西里尔文字作为字节序列

    我正在开发一个带有大字典的 Android 文字游戏 这些单词 超过 700 000 个 作为单独的行保存在文本文件中 然后放入 SQLite 数据库中 为了保护我的字典 我想用 md5 对所有长度超过 3 个字符的单词进行编码 我不会混淆
  • http-proxy-middleware 不转发完整路径

    我正在尝试将 BrowserSync 配置为在服务器模式下工作 并将我的 API 请求代理到在同一计算机上不同端口上运行的后端 使用http 代理中间件 https github com chimurai http proxy middle
  • Python ast.literal_eval 在字典字符串上不起作用(SyntaxError:无效语法)

    我正在尝试使用 JSON 数据处理数据集 然而 数据未经解析就已写入文件 这意味着 python 字典作为字符串写入文件中 而不是作为字符串写入 JSON 对象 我找到了一个模块 AST 它可以使用以下命令再次将字符串转换为字典 ast l