问题描述
我有一个大型的json文件,其中包含1000多个条目。该json被送入下游库以进行进一步处理。我正在尝试寻找一种更简单的方法来消除值部分中的所有尾随空白。
{
"Country": [
{
"country_name": "Germany ","country_capital": " Berlin","concept_description": "Germany is also known as Deutschland ","country_cities": [
"Frankfurt"
],"neighbouring_countries": [
" Belgium","France "
],"country_group": "Europe "
},{
"country_name": " France ","country_capital": " Paris","concept_description": "Effiel Tower is in paris ","country_cities": [
" montpellier"
],"Spain "
],"country_group": "Europe "
}
]
}
我尝试使用String.strip()
和列表理解来实现此mylist = [[x.strip() for x in y] for y in mylist]
。但是,某些键的值作为列表,有些只是字符串。
解决方法
您可以使用递归功能剥离所有内容吗?
LINES
如果结构一致,例如def strip(value):
if isinstance(value,str):
return value.strip()
if isinstance(value,list):
return list(map(strip,value))
# handle dict etc,by recursive call to `strip()`
始终是一个列表,您可以使用任何数据验证库。我更喜欢schema
myself。