【发布时间】:2021-10-27 18:24:11
【问题描述】:
我正在阅读文本文件使用
source= open(curr_file,"r")
lines= source.readlines()
这会将我的文本文件中的每一行转换为一个列表,但我的列表中的某些项目是用双引号创建的,而有些是用单引号创建的,如下所示。
['[INFO] Name: Xxxx, section: yyyy, time: 21.2, status: 0\n', "proof:proof1,table: db.table_name,columns:['column_1'],count:10,status:SUCCESS\n",'run time: 30 seconds\n']
列表中的第一项是用单引号创建的,而第二项是用双引号创建的。
当试图将上述内容转换为字典时
new_line= dict(x.split(":"),1) for x in line.split(","))
它给了我一个值错误
Value error: dictionary update sequence element has length 1; 2 is required
上述错误是因为它将双引号下的整个字符串视为单个值,并且无法将其转换为字典。
有没有办法将其转换为单引号而不是双引号。我尝试使用替换,剥离。但没有任何帮助。
预期输出: { 姓名:XXX, 部分:yyyy, 时间:21.2, 证明:证明1 表:db.table_name 状态:成功 }
【问题讨论】:
-
您的预期输出是什么?
-
预期输出是带有键值对的字典。编辑问题以添加预期输出
-
不在 cmets 中,您可以 edit 您的问题并将其包含在其中
-
你打错了
new_line= dict(...这一行 -
我已经更新了有问题的预期输出
标签: python dictionary parsing