我想知道你是否知道最好的方法。
此程序使用OCR读取文本。有时,小数点前会出现空格,如下所示:
{'MORTON BASSET BLK SESAME SEE': '$6.89'}
{"KELLOGG'S RICE KRISPIES": '$3.49'}
{'RAID FLY RIBBON 4PK': '$1 .49'}
如您所见,最后一个条目的小数点前会出现一个空格。关于如何剥离此空白的任何想法?
谢谢:)
编辑:小数点前的内容可能包含不同数量的空格。像
$1 .49
$1 .49
$1 .49
答案 0 :(得分:1)
import re
a_list = {"1 .49", "1 .49", "1 .49"}
for a in a_list:
print re.sub(' +.', '.', a)
结果将是
1.49
1.49
1.49
答案 1 :(得分:0)
您可以从字符串中去除所有空格,前提是它们遵循相同的格式。像这样:
for item in items:
for key in item.keys():
item[key] = item[key].replace(" ", "")
关键部分是用空白代替空白。
如果您只是想要“。”之前的空格,则可以使用: .replace(“。”,“。”)代替。
这只会替换1个空格。要替换多个,可以使用如下while循环:
while ' .' in item[key]:
item[key].replace(' .', '.')
答案 2 :(得分:0)
对于您的字典obj:-
>>> d = {'RAID FLY RIBBON 4PK': '$1 .49'}
>>> d['RAID FLY RIBBON 4PK'] = d['RAID FLY RIBBON 4PK'].replace(' ','')
>>> d
{'RAID FLY RIBBON 4PK': '$1.49'}
即使空间变化;更换将正常工作。看到这个:-
>>> d = {'RAID FLY RIBBON 4PK': '$1 .49'}
>>> d['RAID FLY RIBBON 4PK'] = d['RAID FLY RIBBON 4PK'].replace(' ','')
>>> d
{'RAID FLY RIBBON 4PK': '$1.49'}
答案 3 :(得分:0)
我认为您可能不仅希望为该键提供更通用的东西:
for key, value in d.items():
d[key]=value.replace(" ","")
以这种方式与键无关,空格的数量将导致结果没有空白
答案 4 :(得分:0)
这很容易拆分和合并:
"".join("1 .49".split())
之所以有效,是因为在一个或多个空格上分割。要对字典中的每个值执行此操作:
{k, "".join(v.split()) for k,v in dict_.items()}
答案 5 :(得分:-2)
确定:
string.replace(' .', '')