我有一个csv文件,格式如下(仅显示相关行):
Global equity - 45%/45.1%
Private Investments - 25%/21%
Hedge Funds - 17.5%/18.1%
Bonds & cash - 12.5%/15.3%
我编写了一个正则表达式来查找每一个出现的数字(即45%/45.1%等),我试图编写它,使它只保留斜杠后面的数字。以下是我写的:
with open('sheet.csv','rU') as f:
rdr = csv.DictReader(f,delimiter=',')
row1 = next(rdr)
assets = str(row1['Asset Allocation '])
finnum = re.sub(r'(\/[0-9]+.)','#This is where I want to replace with just the numbers after the slash',assets)
print(finnum)
所需输出:
Global equity - 45.1%
Private Investments - 21%
etc...
如果我不知道我想要的数字的索引,这可能吗?你知道吗
您可以尝试使用此('\d+%/')regexp删除无用的数据。你知道吗
您还可以将第一个数字之前和
/
之后的内容分组:输出:
如果专门寻找该模式,可以使用基于组的replace和concat:
然后是简单的去除不需要的:
或者,如果不想使用regex:
相关问题 更多 >
编程相关推荐