gpt4 book ai didi

python - 在 Python 中如何仅从美元相关字段中去除美元符号和逗号

转载 作者:太空宇宙 更新时间:2023-11-03 13:16:56 25 4
gpt4 key购买 nike

我正在阅读一个包含很多列的大型文本文件,这些列与美元相关,但我正在尝试弄清楚如何仅去除美元字段中的 $ 和 , 字符。

所以说我有:

a|b|c

$1,000|hi,you|$45.43

$300.03|$MS2|$55,000

其中 a 和 c 是美元字段而 b 不是。输出需要是:

a|b|c

1000|hi,you|45.43

300.03|$MS2|55000

我在想正则表达式是可行的方法,但我不知道如何表达替换:

f=open('sample1_fixed.txt','wb')

for line in open('sample1.txt', 'rb'):
new_line = re.sub(r'(\$\d+([,\.]\d+)?k?)',????, line)
f.write(new_line)

f.close()

有人有想法吗?

提前致谢。

最佳答案

除非您真的想使用正则表达式,否则我建议您做一些简单、直接且通常易于阅读的事情:

def convert_money(inval):
if inval[0] == '$':
test_val = inval[1:].replace(",", "")
try:
_ = float(test_val)
except:
pass
else:
inval = test_val

return inval


def convert_string(s):
return "|".join(map(convert_money, s.split("|")))


a = '$1,000|hi,you|$45.43'
b = '$300.03|$MS2|$55,000'

print convert_string(a)
print convert_string(b)

输出

1000|hi,you|45.43
300.03|$MS2|55000

关于python - 在 Python 中如何仅从美元相关字段中去除美元符号和逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26644810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com