Python Can';t将列表文字转换为字符串

Python Can';t将列表文字转换为字符串,python,string,list,eval,Python,String,List,Eval,ast.literal\u eval(输入)或eval(输入)仍然为我提供字符串类型 目标是得到一个我可以反复阅读的字典列表 input = "[{'parentId': '3660050', 'id': '3813419', 'name': 'Diversity Report', 'parentName': 'Uber Crises'}, {'parentId': '3447845', 'id': '3447846', 'name': 'High', 'parentName': 'QA Int

ast.literal\u eval(输入)
eval(输入)
仍然为我提供字符串类型

目标是得到一个我可以反复阅读的字典列表

input = "[{'parentId': '3660050', 'id': '3813419', 'name': 'Diversity Report', 'parentName': 'Uber Crises'}, {'parentId': '3447845', 'id': '3447846', 'name': 'High', 'parentName': 'QA Intensity'}, {'parentId': '3446939', 'id': '3446940', 'name': 'High', 'parentName': 'Intensity'}, {'parentId': '3447834', 'id': '3447842', 'name': 'Disgust', 'parentName': 'QA Emotion'}, {'parentId': '3447822', 'id': '3447823', 'name': 'Negative', 'parentName': 'QA Sentiment'}, {'parentId': '3446760', 'id': '3446763', 'name': 'Neutral', 'parentName': 'Original Sentiment'}, {'parentId': '3446944', 'id': '3446947', 'name': 'Negative', 'parentName': 'Aggregated_Sentiment'}, {'parentId': '3446936', 'id': '3446938', 'name': 'Not Spam', 'parentName': 'Spam'}, {'parentId': '3446924', 'id': '3446932', 'name': 'Disgust', 'parentName': 'Emotion'}, {'parentId': '3720161', 'id': '3720163', 'name': 'Uber', 'parentName': 'Uber & Lyft'}, {'parentId': '3660050', 'id': '3723667', 'name': ""Waymo vs. Uber's Otto"", 'parentName': 'Uber Crises'}, {'parentId': '3660050', 'id': '3723665', 'name': 'Uber Sexism', 'parentName': 'Uber Crises'}, {'parentId': '3660050', 'id': '3660077', 'name': '#DeleteUber', 'parentName': 'Uber Crises'}]"

上面的代码应该在eval调用下生成正确的结果,同时在其中一个字符串中保留撇号字符。错误明确地出现在带有撇号的行上。无论出于何种原因,它都无法使用转义字符正确计算,它很可能试图创建一个字符串。这个解决方案之所以有效,是因为我使用的不是转义字符,而是不同类型的字符串。此外,如图所示,“Waymo vs.Uber's Otto”应该只有一个双引号。您可能认为可以添加其他字符串,因为字符串没有正确突出显示,但这样做的目的是告诉您您犯了一个错误。

实际上,它的两边都有双引号“”。也许这就是问题所在。我还想指出,您在其中使用了一个
字符,而且由于它没有转义键,也没有引用,因此可能会混淆IDE将其更改为“
Waymo vs.Uber's Otto”
,这些数据从何而来?尝试在那里修复它,而不是在以后修复。可能的解决方案是在数组外部使用三重引号。
input = """[{'parentId': '3660050', 'id': '3813419', 'name': 'Diversity Report', 'parentName': 'Uber Crises'}, {'parentId': '3447845', 'id': '3447846', 'name': 'High', 'parentName': 'QA Intensity'}, {'parentId': '3446939', 'id': '3446940', 'name': 'High', 'parentName': 'Intensity'}, {'parentId': '3447834', 'id': '3447842', 'name': 'Disgust', 'parentName': 'QA Emotion'}, {'parentId': '3447822', 'id': '3447823', 'name': 'Negative', 'parentName': 'QA Sentiment'}, {'parentId': '3446760', 'id': '3446763', 'name': 'Neutral', 'parentName': 'Original Sentiment'}, {'parentId': '3446944', 'id': '3446947', 'name': 'Negative', 'parentName': 'Aggregated_Sentiment'}, {'parentId': '3446936', 'id': '3446938', 'name': 'Not Spam', 'parentName': 'Spam'}, {'parentId': '3446924', 'id': '3446932', 'name': 'Disgust', 'parentName': 'Emotion'}, {'parentId': '3720161', 'id': '3720163', 'name': 'Uber', 'parentName': 'Uber & Lyft'}, {'parentId': '3660050', 'id': '3723667', 'name': "Waymo vs. Uber's Otto", 'parentName': 'Uber Crises'}, {'parentId': '3660050', 'id': '3723665', 'name': 'Uber Sexism', 'parentName': 'Uber Crises'}, {'parentId': '3660050', 'id': '3660077', 'name': '#DeleteUber', 'parentName': 'Uber Crises'}]"""