打印列表时locality字段带 ,如何修正为预期无换行符格式?
移除字典中locality字段末尾换行符的方法
问题场景
打印字典列表时,locality字段末尾带有换行符,导致输出格式不符合预期:
当前输出
{'name': 'Peter', 'surname': ' Abdilla', 'DOB': ' 22/02/1986', 'mobileNo': '79811526', 'locality': ' Zabbar '} {'name': 'John', 'surname': ' Borg', 'DOB': ' 12/04/1982', 'mobileNo': '99887654', 'locality': ' Paola '}
预期输出
{'name': 'Peter', 'surname': ' Abdilla', 'DOB': ' 22/02/1986', 'mobileNo': '79811526', 'locality': ' Zabbar'} {'name': 'John', 'surname': ' Borg', 'DOB': ' 12/04/1982', 'mobileNo': '99887654', 'locality': ' Paola'}
解决方法
1. 预处理原始字典数据(推荐)
从数据源头清理locality字段的换行符,一劳永逸:
# 示例字典列表 data_list = [ {'name': 'Peter', 'surname': ' Abdilla', 'DOB': ' 22/02/1986', 'mobileNo': '79811526', 'locality': ' Zabbar\n'}, {'name': 'John', 'surname': ' Borg', 'DOB': ' 12/04/1982', 'mobileNo': '99887654', 'locality': ' Paola\n'} ] # 遍历清理每个字典的locality字段 for item in data_list: # strip()会移除首尾所有空白字符(包括换行、空格);若仅需移除末尾换行,改用rstrip('\n') item['locality'] = item['locality'].strip() # 打印处理后的结果 for item in data_list: print(item)
2. 仅处理打印输出字符串
若不想修改原始数据,可在打印时对输出内容做替换:
data_list = [ {'name': 'Peter', 'surname': ' Abdilla', 'DOB': ' 22/02/1986', 'mobileNo': '79811526', 'locality': ' Zabbar\n'}, {'name': 'John', 'surname': ' Borg', 'DOB': ' 12/04/1982', 'mobileNo': '99887654', 'locality': ' Paola\n'} ] for item in data_list: # 将字典转为字符串后,替换换行符加单引号为单引号 print(str(item).replace("\n'", "'"))
内容的提问来源于stack exchange,提问作者Wild Alex
相关产品推荐
相关产品推荐

