2024-04-26 21:55:49 发布
网友
我正在从web API中检索一些数据,但是检索到的记录带有额外的引号,我需要删除;result = ['"A1","Location1"', '"A2","Location2"']对于大型数据集,最有效的方法是什么,比如10000个条目,这样我就得到如下结果:
result = ['"A1","Location1"', '"A2","Location2"']
result = ["A1","Location1", "A2","Location2"]
另一个不太好(有点脏)但有效的解决方案是使用ast.literal_eval和repr:
ast.literal_eval
repr
from ast import literal_eval result = ['"A1","Location1"', '"A2","Location2"'] literal_eval(repr(result).replace("\'", "")) ['A1', 'Location1', 'A2', 'Location2']
使用python的内置CSV module。它会自动完成。你知道吗
如果列表result的每一项都是以逗号分隔的“引用”子项字符串(子项中不包含逗号),则可以轻松地创建一个新列表clean,如下所示:
result
clean
clean = [] for item in result: subitems = item.split(',') clean.extend(si[1:-1] for si in subitems)
如果你的约束更复杂(引用可能在eadh子项附近,也可能不在eadh子项附近,引用的子项可能包含逗号等),我不能盲目地猜测你没有告诉我们的每一个详细约束!-)这项任务将相应地更加困难,可能涉及正则表达式,或者更糟。。。但我们不知道,除非你编辑你的Q,明确指出你必须处理的问题!-)你知道吗
另一个不太好(有点脏)但有效的解决方案是使用
ast.literal_eval
和repr
:使用python的内置CSV module。它会自动完成。你知道吗
如果列表
result
的每一项都是以逗号分隔的“引用”子项字符串(子项中不包含逗号),则可以轻松地创建一个新列表clean
,如下所示:如果你的约束更复杂(引用可能在eadh子项附近,也可能不在eadh子项附近,引用的子项可能包含逗号等),我不能盲目地猜测你没有告诉我们的每一个详细约束!-)这项任务将相应地更加困难,可能涉及正则表达式,或者更糟。。。但我们不知道,除非你编辑你的Q,明确指出你必须处理的问题!-)你知道吗
相关问题 更多 >
编程相关推荐